自从Microsoft公司于1996年推出ActiveX技术以来,ActiveX技术已得到了许多软件公司的支持和响应,并纷纷在其产品中融入ActiveX技术。而作为ActiveX技术之一的ActiveX控件也得到了迅猛的发展,不但各大软件公司推出了不少ActiveX 控件,ActiveX控件更是得到一般开发者的喜爱。那么,什么是ActiveX控件呢?ActiveX控件是一个动态
链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用
程序中,ActiveX控件的前身就是OLE控件。由于ActiveX控件与开发平台无关,因此,在一种编程语言上开发的ActiveX控件可以无须任何修改,即可在另一种编程语言中使用,其效果如同使用Windows通用控件一样。如:在VC++中开发的ActiveX控件,不作任何修改即可应用于VB中。由此可见,通过使用ActiveX控件即可实现快速小型的组件重用、实现代码共享,从而提高编程效率。从上面亦可看出为何ActiveX控件如此广泛地受到开发者的欢迎。
因为ActiveX控件的可重用性,加上Internet的普及,ActiveX控件得到了极大的发展,目前,从Internet上可以得到相当多的ActiveX控件,而且品种繁多,所完成的任务几乎无所不包。对普通开发者来说,只要有耐心,都能从Internet上找到符合自己要求的ActiveX控件。
从Internet
下载的ActiveX控件,或从其他途径得到的ActiveX控件,用户应该怎样做才能正确使用ActiveX控件或将其应用于自己的
程序中呢?一般来说,一个外来ActiveX控件要在Windows中被正确使用,首先必须将控件文件(*.OCX)复制到硬盘中,然后将其在Windows中注册,未在Windows中注册过的ActiveX控件是不能使用的。
注册ActiveX控件一般来说有三种途径:
1. 使用Regsvr32.exe
程序对ActiveX控件进行注册;
2. 使用安装
程序制作软件:InstallShield;
3. 在应用
程序中加入注册代码。
上述方法适用范围不同,各有各的优点,下面分别讨论。
一、 使用Regsvr32.exe
程序对ActiveX控件进行注册
对于未注册过的ActiveX控件可使用此软件对其进行注册,外来ActiveX控件要应用到自己的
程序中也必须进行注册。该文件位于Windows目录的system子目录下。使用方法如下:点击“开始”→“运行”;在运行对话框中输入以下命令:
regsvr32 < 文件名 > 注册一个ActiveX控件
regsvr32 /u < 文件名 > 解除某ActiveX控件的注册
我们使用一些带ActiveX控件的应用
程序时,有时会出现不能运行的情况,这有可能是其自带ActiveX控件未注册所至,这时不妨使用上述命令一试。另外,VC++使用者若对regsvr32.exe的编码感兴趣的话,可在VC++的联机帮助中找到其源代码。若使用VC++ 6.0,则在MSDN光盘的\sample\VC98\MFC\controls\regsvr中。
二、 使用安装
程序制作软件:InstallShield
使用regsvr32.exe来注册ActiveX控件虽然简单,但需要用户手工注册,在不用时还得手工解除注册,因此,这对一个应用程序来说并非好的解决方案。大型应用软件一般都有一个安装程序,在安装
程序中解决ActiveX控件注册是较为理想的一种方案。使用InstallShield可以制作出专业级的Setup,还可注册其中的ActiveX控件;而且,在以后携载软件时,自动注销掉以前注册的ActiveX控件。方法如下:
1. 启动InstallShield,使用Project Wizard建立一个新的项目;
2. 新建一个“File Group”,将需要注册的ActiveX控件文件放入此“File Group”中;
3. 将上述“File Group”的“Self-Registered”属性设置成“Yes”。
上述步骤仅为制作Setup中设置自动注册ActiveX控件几步,至于使用InstallSh