分享

Delphi?ActiveX?Form的使用实例(三)

 江南浪子1 2010-04-03

3.3.2.2 注册Active Form

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

 

 

6 注册Active Form对话框

 

点击Component->Import ActiveX Control, 将会打开Import ActiveX 对话框(如图6),点击"Add"后在弹出的文件选择对话框中定位并选中我们刚生成的Active Form控件ActiveFormProj1.ocx,点击打开后,Delphi将会自动载入该ActiveX控件。如图6所示的Import ActiveX对话框也进行了相应的改变。

 

注意

 

该操作只是向Windows消息系统注册了该ActiveX控件(ActiveFormProj1.ocx),我们还可以通过如下方法向Windows消息系统注册该ActiveX控件:

Ø 在命令行(MS-DOS)下定位到ActiveFormProj1.ocx文件所在目录,然后使用“Regsvr32 ActiveFormProj1.ocx ”注册该ActiveX控件

Ø Delphi中,打开创建该ActiveX控件的工程(*.dpr)文件,然后选择Run->Register ActiveX Server

注意,以上操作只是向Windows消息系统注册了该ActiveX控件,但是并没有将其添加到DelphiVCL库中。所以我们还无法在其它程序中对其调用。要想在其它程序中能调用该ActiveX控件,我们还需要进行如下设置和操作。那么,我们的ActiveX控件将会出现在Delphi的组件面板中,这样我们在其它程序中才能像使用其它VCL控件一样使用我们刚才创建的ActiveX控件(Active Form)

 

如图6,最上面显示了载入的ActiveX控件的名称、版本号和源文件路径。

Ø Class names: 表示该ActiveX控件在Windows消息系统中的注册名称,默认为载入的Active Form的类名称,你可以根据需要进行更改。

Ø Palette page: 表示将该ActiveX控件加载到Delphi组件面板中的哪个面板,默认为ActiveX面板。我们这里加载到默认面板Standard面板中。

Ø Unit dir name: 表示将该ActiveX控件加载到哪个目录中,默认为".\Borland\Delphi7\Imports\",最好放在DelphiSearch Path中,否则在使用中可能会发生无法找到文件错误。

Ø Search path: 表示Delphi的查找目录。如果上述的"Unit dir name:"指定了其它的目录,在这里,我们也应该添加相应的目录。

 

 

7 控件添加位置选择对话框

 

以上设置完成以后,我们点击"Install"按钮将该ActiveX控件添加到DelphiVCL库。

点击"Install"按钮后,会弹出如图7所示的Install对话框,让我们选择将该ActiveX控件添加到哪个包中。如图7,默认的选择是注册到已有包(Into existing package)\borland\delphi7\Lib\dclusr.dpk,我们也可以点击"Browse..."按钮选择其它已存在的包文件(*.dpk),或者切换到"Into new package"面板创建一个新的包文件(*.dpk);       

Descripiton表示对该包文件的说明。

注意

 

点击"Install"按钮将该ActiveX控件添加到DelphiVCL库实质是:

首先,将ActiveX控件的3个相关文件“ActiveFormProj1_TLB.dcr”、“ActiveFormProj1_TLB.dcu”、“ActiveFormProj1_TLB.pas”拷贝到Delphi安装目录下的Imports t文件夹(\Borland\Delphi7\Imports)中。如果文件已经存在,会给出“文件已存在,是否替换”的提示信息。

其次,将控件信息添加到我们指定的包中,然后重新进行编译,使新加入到ActiveX控件出现在Delphi的组件面板中

这里我们全部使用默认设置,将我们的Active Form控件添加到默认的\borland\delphi7\Lib\dclusr.dpk”文件中。设置完成以后,点击"ok"按钮。将会出现如图8所示的Package管理器,同时弹出如下信息对话框:“Package dclusr.bpl will be rebuilt, Continue?”,意思是说dclusr.bpl文件将会重新被编译。如果你在前面指定将我们的Active Form加载到其它包或者自建的新包中,这里也会有相应的提示信息。

 

 

8 Package管理器

 

点击”OK”按钮后,又会出现如图9所示的提示信息:

9 Active Form添加成功信息

 

         该信息框的意思是已经成功向Delphi的默认面板dclusr70.bpl文件中注册了新的控件ActiveFormProj1_TLB.TActiveFormX。同时,在DelphiStandard面板中,我们会发现新增了一个为ActiveFormX的组件。如果没有出现,你可以点击如果8所示的Package管理器左上角的Compile按钮重新编译一次以后应该将可以看到了。

         自此,我们成功将我们先前创建的Active Form控件添加到了Delphi的组件面板中,下面,我们就可以在其它应用程序中对其进行调用了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多