Delphi 编写ActiveForm窗体工程知识和样例(开发浏览器客户端应用程序)(有详细步骤)

一、基础知识介绍:

1、ActiveForm的基础知识介绍:

在Delphi中,ActiveForm是封装了Delphi Form的一种ActiveX控件。ActiveForm其实是一种标准的Delphi From(ActiveForm继承自TForm)。ActiveForm中可能会包含某些VCL或者ActiveX组件,包括用户自定义的组件。 就像“标准的”Windows应用程序一样,我们也可以向ActiveForm中添加代码以及对事件作出应答。唯一的区别是,ActiveForm的标题栏(title bar)在运行时是不可见的,只是在设计时才可见。

2、ActiveForm的作用:开发B/S模式下的运行的应用程序(开发浏览器的客户端应用程序

使用Delphi ActiveForm的功能可以开发一个在浏览器中执行的Delphi应用程序。由于ActiveForm可以包含任何Delphi中的VCL组件,所以程序员可以建立一个拥有数据感知能力的ActiveForm组件,具有处理数据的能力,当它使用于IE时,就可以让IE变成能够处理数据的应用系统。

 

3、用ActiveForm开发B/S模式与C/S模式是不一样的。

使用Delphi ActiveForm的功能开发一个可以在浏览器中执行的Delphi应用程序时,与通常的Delphi开发应用程序并不相同。Delphi开发在C/S模式下运行的应用程序,通常选择菜单项“File”—〉“New”—〉“Application”,从而建立一个新的project来完成。 开发在B/S模式下运行的应用程序,和C/S模式有些区别。

 

二、 ActiveForm工程

1、创建一个ActiveForm工程的具体步骤:

1>、【File】—>【Close All】,首先关闭所有的项目。

2>、然后【File】—〉【New】,打开New Items对话框。切换到【ActiveX选项卡】中选择建立【Active Form】。然后点【OK】按钮,打开向导窗体。该向导会创建一个ActiveX library项目来包含ActiveForm和一个可定制的激活的Form窗口。

3>、在向导窗体中输入New ActiveX name,这里我输入一个AFHello,其它保持默认,点击【OK】。(自动创建了一个ActiveX Library 工程,一个Form窗口,一个实现文件,一个类型库,以及一个包含了所有这些类型库说明信息的类型库文件(.TLB文件)。)

4>、这时Delphi为我们建立好了一个ActiveForm的窗体,我们先拉一个按钮到窗体上,把按钮的name属性设为btnHello,Caption设为say hello,在按钮的onclick事件中,输入编程:

  procedure TAFHello.btnHelloClick(Sender: TObject);
  begin
     MessageBox(Handle,‘我的第一个ActiveForm‘,‘hello‘,mb_ok)
  end; 

5>、代码的部份完成了,选择菜单"File"->"Save All",保存所有工程,我这里是将工程中的所有文件保存在“D:\AFHello\"目录下,

6>、下面就是要将ActiveForm发布出来了,从下拉菜单中选中"Project"->"Web Deployment Options",在弹出的窗口输入如下信息:
Target dir : OCX保存的目录;ActiveForm组件于HTML首页中codebase tag的目的。
Target URL :  OCX发布后的虚拟目录,这里".\"表示在根目下;Delphi分发ActiveX组件的时候自动产生一个HTML的首页档案; 
HTML dir : 输出一个包含控件的Html文件,它的存放目录;点击【OK】按钮,


<HTML>

<H1> Delphi 7 ActiveX Test Page </H1><p>

You should see your Delphi 7 forms or controls embedded in the form below.

<HR><center><P>

<OBJECT

classid="clsid:82C92557-9E0F-4E54-93BF-B36BDC598625"

codebase="./ActiveFormProj1.ocx#version=1,0,0,0"

width=350

height=250

align=center

hspace=0

vspace=0

>

</OBJECT>

</HTML>

7>、然后从下拉菜单中选中"Project"->"Web Deploy",进行发布,在目标目录中生成了一个htm文件和一个ocx文件,从IE加载htm文件,就可以运行ocx了.用鼠标点击一个"say hello"按钮,看看运行情况是怎么样的。

8>、哈哈,第一个ActiveForm工程就完成了!点击htm文件运行。(另外需要修改IE的设置,否则默认情况下OCX会因为安全性问题禁止被运行。如果有签名就没有安全性问题,但是签名的证书是要花钱买的)

2、注册ActiveForm控件

要想在其它项目中调用我们刚创建的Active Form,我们必须先将其注册到Windows消息系统中,然后还要将其添加到Delphi的VCL类库中,这样在其它项目中才能找到该Active Form控件并进相应的使用。

注册ActiveForm,也组成普通的Active控件的一样的。

3、调用ActiveForm控件

使用其它的VCL控件一样使用我们添加的ActiveForm控件。在Delphi中,点击File->New->Application创建一个新的应用程序,然后在其默认创建的Form窗口中添加我们刚添加的Active Form控件。

http://blog.csdn.net/zang141588761/article/details/51248198

时间: 2024-08-06 07:50:41

Delphi 编写ActiveForm窗体工程知识和样例(开发浏览器客户端应用程序)(有详细步骤)的相关文章

Delphi 编写ActiveX控件(OCX控件)的知识和样例(有详细步骤)

一.ActiveX应用情况简介: ActiveX控件也就是一般所说的OCX控件,它是 ActiveX技术的一部分.ActiveX是微软公司推出的基于组件对象模型COM的技术,包括对Windows 32位应用编程接口(Win32 API)和组件对象模型的一系列扩充和增强,目标是把计算机桌面环境与因特网环境集成起来,同时保护在Windows技术中现有的开发投资.微软的 ActiveX技术根本上就是修改过的OCX技术,使它能够跨越Internet,主要是使用WWW来传递控件.            A

Thrift跨语言样例开发

一.开发环境 1.有一台部署好thrift框架的电脑,本人采用centos5下的thrift框架 (部署步骤可以参看http://blog.csdn.net/san1156/article/details/41146483 ) 2.部署的thrift环境需要支持java和c++ 二.样例功能 使用c++做服务端,java做客户端,客户端远程调用服务端的服务 三.开发步骤 1.创建接口IDL文件,后缀名为.thrift 文件名:strReversed.thrift struct StrInfo {

[持续交付实践] pipelne:pipeline 使用之项目样例

项目说明 本文将以一个微服务项目的具体pipeline样例进行脚本编写说明.一条完整的pipeline交付流水线通常会包括代码获取.单元测试.静态检查.打包部署.接口层测试.UI层测试.性能专项测试(可能还有安全.APP等专项).人工验收等研发测试环节,还会包括灰度发布.正式发布等发布环节. 补充说明:1.此项目的部署还是使用传统虚拟机服务器的方式,暂未采用docker容器,docker容器与pipeline的结合后面会有其他专题进行说明.2.灰度发布.正式发布等发布环节,由于涉及到线上发布系统

DELPHI编写服务程序总结

一.服务程序和桌面程序的区别 Windows 2000/XP/2003等支持一种叫做“系统服务程序”的进程,系统服务和桌面程序的区别是:系统服务不用登陆系统即可运行:系统服务是运行在System Idle Process/System/smss/winlogon/services下的,而桌面程序是运行在Explorer下的:系统服务拥有更高的权限,系统服务拥有Sytem的权限,而桌面程序只有Administrator权限:在Delphi中系统服务是对桌面程序进行了再一次的封装,既系统服务继承于桌

Java中调用Delphi编写的DLL

有些时候,要写一些程序,在 JAVA 里面好难实现, 但如果使用其它编程语言却又比较容易时,我们不妨通过 JNI 来让不同语言的程序共同完成. JNI 的教程, 网上 C 的比较多,Java 也提供了 javah.exe 为 C 语言的 JNI 程序生成头文件, 如果你是一个 Delphi 编程员, 能否让 JAVA 与 Delphi 程序交互呢? 答案是肯定的,今天我们就来看一下一个简单的例子. Helloworld. 主要是来认识一下, JAVA 怎样调用 Delphi 程序的方法. 好的,

ADF Faces 表格应用基础案例二:动态字段+事件处理【附样例工程】

本文提供一个基于ADF Face组件开发样例工程,实现表格开发中常见的处理: 1.Map对象+Bean对象填充表格的数据行. 2.使用静态列.动态列.嵌套列的实现方法. 3.介绍表格中表单组件的使用方法. 4.介绍表格单行选中事件的处理过程. 本文是基于"ADF Faces 表格应用基础案例一:应用List<Class>填充文本表格"编写的,会省去许多细节部分的介绍. 实现的基本思路: 将样例工程的创建过程分为几个小的阶段,每个阶段实现了不同的目标. 第一阶段: 表格数据:

PB数据窗体其它知识

//////////////////////////////// 标识当前行 〓标识当前行也就是给当前行加上醒目的标记.以便用户更清楚当前要对哪一行数据进行操作,尤其当用户的操作中间有停顿时,继续进行操作就特别须要知道哪个是当前行.这里的当前行不要狭隘地理解成仅仅是光标所在行.当翻页时假设光标所在行不在当前页中.这时应该将当前页中的第一行置为当前行,否则easy造成错觉:当删除数据时.不能自己主动改变当前行,此时应该使用脚本设置当前行. 标识当前行的函数和方法非常多,比較经常使用的有Select

ADF Faces导出Excel文件【附样例工程】

本文提供一个基于ADF Face组件开发样例工程,工程的实现过程分为3个部分以应对Excel导出开发中常见的处理. 1.空模版文件下载:将Excel文件视为普通文件提供下载操作. 2.数据文件输出,将数据内容输出为Excel文件,目标文件尽在服务端内存中存在,这种方式需要对Excel文件的内容处理,需要引入响应的类库. 3.模版文件填充数据后下载,基于服务端的物理文件为模板,将业务数据填入约定位置后提供下载,在实现方面需要为工作簿对象指定源文件输入流,并完成后续内容处理. 实现的基本思路,由AD

delphi编写与调用DLL(delphi7下测试通过)

http://blog.sina.com.cn/s/blog_4dbbf76f01000anz.html 1 delphi编写DLL 2 下面在delphi中编写一个简单的dll,在该dll中只有一个max函数,返回2个数中的大数(Delphi 5.0) 3 1.New->DLL;取名为DLL_0001,编写代码: 4 library dll_0001; 5 uses 6 SysUtils, 7 Classes; 8 {$R *.RES} 9 function max(x,y:integer):