gpt4 book ai didi

delphi - 将新组件拖放到表单上时出现错误消息 "Class Not Registered"

转载 作者:行者123 更新时间:2023-12-03 15:38:58 25 4
gpt4 key购买 nike

使用运行 Delphi 2010 的 Windows XP。

我获得了一个名为 CsdEft.ocx 的第三方软件包(用于连接 EFTPOS 终端)

为了安装,我执行了以下操作:

  • 选择“导入组件”
  • 选择“导入 ActiveX 控件”
  • 选择“添加”,然后选择 CsdEft.ocx。显示选定的 OCX。单击“下一步”。

    显示对话框:

    Class Name: TCscEFT

    Pallet Page: ActiveX

    Unit Dir Name: C:\Delphi\Components

    Search Path: $(BDS)\lib;$(BDSUSERDIR)...................

    Generate Component Wrappers - Checked

  • 点击“下一步”。
  • 选择“安装到新包中”
  • 输入 EFTPOS 作为软件包名称。
  • 单击“完成”。

    对话框显示:

    Package C:\Documents and Settings.............\EFTPOS1.bpl has been installed. The following component(s) have been registered: TCsdEft.

好的。一切看起来都很好。

我可以在组件托盘的 ActiveX 页面中看到该组件。

但是当我尝试选择组件并将其放在表单上时,我收到“类未注册”错误。

希望有人能给我一些指示,指出这里出了什么问题。

最佳答案

听起来 OCX 本身没有使用命令行 regsvr32.exe 工具在 Windows 中注册。您直接导入了 OCX 文件,因此 IDE 基于 OCX 的嵌入 TypeLibrary 创建了一个组件包装器,但包装器将尝试通过 CoCreateInstance() 实例化 ActiveX 对象,因此您将得到一个如果 CoCreateInstance() 找不到 OCX,则会出现“类未注册”错误。

关于delphi - 将新组件拖放到表单上时出现错误消息 "Class Not Registered",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23749629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com