使用运行Delphi 2010的Windows XP。
我获得了一个名为CsdEft.ocx的第三方软件包(用于连接到EFTPOS终端)
要安装,我执行了以下操作:
选择“添加”,然后选择CsdEft.ocx。显示所选的OCX。单击“下一步”。
显示对话框:
班级名称:
TCscEFT
托盘页面:
ActiveX
单位目录名称:
C:\Delphi\Components
搜索路径:
$(BDS)\lib;$(BDSUSERDIR)...................
生成组件包装 - 检查
单击“完成”。
对话框显示:
已安装软件包C:\ Documents and Settings ............. \ EFTPOS1.bpl。已注册以下组件:TCsdEft。
我可以在Component Pallet的ActiveX页面中看到该组件。
但是当我尝试选择组件并将其放在表单上时,我收到“未注册类”错误。
希望有人可以给我一些指向这里错误的指针。
答案 0 :(得分:14)
听起来OCX本身没有使用命令行regsvr32.exe
工具向Windows注册。您直接导入了OCX文件,因此IDE基于OCX的嵌入式TypeLibrary创建了一个组件包装器,但是包装器将尝试通过CoCreateInstance()
实例化ActiveX对象,因此您将获得一个& #34;未注册的课程"如果CoCreateInstance()
找不到OCX,则会出错。