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控件。 

 

 

阅读更多
个人分类: Delphi COM编程技术
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭