lijh_ray

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

最近为了做一个项目,尝试了很多皮肤控件,其中一个使用ocx。尝试完后希望能够彻底删除,可是从component->import ActiveX Control中删除后再ActiveX标签中还是能够找到,而且,放置到窗口时会提示没有注册类别。

在网上搜索了一下相关的信息,希望能够彻底卸载这个控件。终于在下面这个地方找到了方法。

注销ActiveX控件

为了避免以后这个页面失效,下面简要的把这个方法记录下来。

 

通过上面的说明,我们知道,注册ActiveX控件主要有两大步骤:

n  ActiveX控件注册到Windows 消息系统中。

n  ActiveX控件添加到DelphiVCL库中。

 

所以,相应的,注销ActiveX控件的时候,是该过程的逆过程。即,首先我们必须从我们在上述注册了该ActiveX控件的包文件中将我们之前添加的ActiveX控件的相关信息删除;然后从Windows消息系统中反注册该ActiveX控件。

以我们刚添加的ActiveFormX控件为例,可以通过如下步骤注销改控件:

首先,在Delphi中点击File->Open,然后选择Delphi安装目录下的 \borland\delphi7\Lib\dclusr.dpk文件(该文件与我们前面注册Active Form指定的包文件对应,如果前面指定了其它文件,那么这里也应该打开相应的文件)

打开后,会出现如图8所示的Package管理器,在其内的Contains分支下,我们可以看到我们先前添加的Active Form控件的注册信息。如图11所示,在我们注册的Active From控件相应文件(这里为ActiveFormProj1_TLB.dcrActiveFormProj1_TLB.pas)上分别点击右键;然后选择”Remove From Project”;接着在弹出的组件删除提示框中点击”Yes”;最后点击左上角的”Compile”按钮对该包文件进行重新编译,如果没有发生错误,我们会发现我们先前注册的Active From从现在注册指定的相应面板上消失了,同时弹出更新成功提示信息,点击”OK”;最后关闭Package管理器,在出现的”Save changes to project dclusr?”保存信息提示框中选择”Yes”即可。

 

接下来,从Windows消息系统中发注册该ActiveX控件,相应的,我们也有如下3中方法:

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

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

Ø  点击Component->Import ActiveX Control,在打开的如图6所示的组件注册对话框的上部选中我们我们之前注册的Active Form控件,然后点击中部的”Remove”按钮即可。

 

自此,我们就成功将我们先前创建的ActiveX控件从Delphi中完全清除了。 


posted on 2010-10-14 17:51  鸿鹄焉知燕雀  阅读(4722)  评论(0编辑  收藏  举报