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

来源:百度文库 编辑:神马文学网 时间:2024/04/29 23:07:27
Delphi ActiveX Form的使用实例(三)
(2009-02-04 01:00:19)转载
标签:电脑
activex控件
delphi
it
分类:编程资料
3.3.2.2 注册Active Form
要想在其它项目中调用我们刚创建的Active Form,我们必须先将其注册到Windows消息系统中,然后还要将其添加到Delphi的VCL类库中,这样在其它项目中才能找到该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控件,但是并没有将其添加到Delphi的VCL库中。所以我们还无法在其它程序中对其调用。要想在其它程序中能调用该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\",最好放在Delphi的Search Path中,否则在使用中可能会发生无法找到文件错误。
Ø Search path: 表示Delphi的查找目录。如果上述的"Unit dir name:"指定了其它的目录,在这里,我们也应该添加相应的目录。

图7 控件添加位置选择对话框
以上设置完成以后,我们点击"Install"按钮将该ActiveX控件添加到Delphi的VCL库。
点击"Install"按钮后,会弹出如图7所示的Install对话框,让我们选择将该ActiveX控件添加到哪个包中。如图7,默认的选择是注册到已有包(Into existing package)“\borland\delphi7\Lib\dclusr.dpk”中,我们也可以点击"Browse..."按钮选择其它已存在的包文件(*.dpk),或者切换到"Into new package"面板创建一个新的包文件(*.dpk);
Descripiton表示对该包文件的说明。
注意
点击"Install"按钮将该ActiveX控件添加到Delphi的VCL库实质是:
首先,将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。同时,在Delphi的Standard面板中,我们会发现新增了一个为ActiveFormX的组件。如果没有出现,你可以点击如果8所示的Package管理器左上角的Compile按钮重新编译一次以后应该将可以看到了。
自此,我们成功将我们先前创建的Active Form控件添加到了Delphi的组件面板中,下面,我们就可以在其它应用程序中对其进行调用了。
-----==很拽的分割线==-------=======knityster -=编织者=======------很拽的分割线------======------
分享到新浪微博
阅读(886)┊评论 (2)┊收藏(0)┊ 转载┊分享┊打印┊举报
已投稿到:排行榜圈子
转载列表:
转载 转载是分享博文的一种常用方式...
前一篇:Delphi ActiveX Form的使用实例(二)
后一篇:Delphi ActiveX Form的使用实例(四)
评论重要提示:警惕虚假中奖信息,点击查看详情
[发评论]
plus麻瓜2009-09-04 08:53:19 [举报]
Access violation at address 004DFDAB in module 'coreide70.bpl'. Read of address 00000019
这个是什么原因啊
plus麻瓜2009-09-04 08:54:16 [举报]
[Fatal Error] Could not create output file 'd:\program files\borland\delphi7\Projects\Bpl\dclusr.bpl'
同上
发评论随时随地抢沙发!
插入表情
登录名: 密码:找回密码注册 记住登录状态建议在网吧/公用电脑上取消该选项
昵   称:
验证码:',1)">
匿名评论
发评论 以上网友发言只代表其个人观点,不代表新浪网的观点或立场。