使用Windows XP运行Delphi 2010
我得到了一个叫做CsdEft的第三方包。ocx(用于连接EFTPOS终端)
为了安装,我做了以下操作:
- 选择"Import Component"
- 选择"导入ActiveX控件"
-
选择"添加",然后选择CsdEft.ocx。显示选中的OCX。单击Next。
显示对话框:
类名:
TCscEFT
托盘页:
ActiveX
单元目录名称:
C:DelphiComponents
搜索路径:
$(BDS)lib;$(BDSUSERDIR)...................
生成组件包装器-选中
- 单击Next。
- 选择"Install into New Package"
- 输入EFTPOS作为包名
-
单击Finish。
对话框显示:
C:Documents and Settings
包 ............. EFTPOS1。已安装BPL。以下组件已注册:TCsdEft.
OK。一切都很好。
我可以在组件托盘的ActiveX页面中看到组件。
但是当我尝试选择组件并将其放在表单上时,我得到"类未注册"错误。
听起来OCX本身没有使用命令行regsvr32.exe
工具在Windows上注册。您直接导入了OCX文件,因此IDE基于OCX的嵌入式TypeLibrary创建了一个组件包装器,但是包装器将尝试通过CoCreateInstance()
实例化ActiveX对象,因此如果CoCreateInstance()
无法找到OCX,您将获得"类未注册"错误。