我可以通过tlibimp.exe导入类型库,但是当我打开集成开发环境时,类型库不在activex pallete中。我似乎也不知道如何将其安装到特定的包中。在IDE中,Import Type Library对话框中有一个install按钮。如何在命令行中执行此操作?
当我查看由tlibimp在CBuilder5\Imports文件夹中生成的OCX.cpp文件时,我看到了"Errors: Error creating palette bitmap of (TTVBH3D):No Server registered for this CoClass“。这和问题有什么关系吗?
编辑:
我希望能够在不经过IDE的情况下将组件安装到activex调色板中,以便在构建过程中可以自动执行此过程。任何解决方案都必须能够完全自动化。
发布于 2009-04-21 20:15:23
首先,使用要安装的ocx运行tlibimp.exe (位于程序Files\Borland\C++Builder\Bin下)。
其次,找到tlibimp生成的cpp文件(您可以使用tlibimp指定输出路径),在文件底部找到字符串"Servers“,并将其替换为"ActiveX”。此字符串确定要安装到的调色板。我不确定这是否可以用tlibimp指定,但它看起来不像。
接下来,编译包含类型库\activex组件的包。
最后,向注册表添加一个注册表项。密钥放在HKCU\Software\Borland\C++Builder\5.0\Knownpackages.下键的名称应该是您刚刚编译的包的路径(例如,$(BCB)\Bin\applet50.bpl)。
当您打开BCB时,您将看到activex组件板下的组件。
这是我能找到的唯一可以实现自动化的方法。
发布于 2009-01-29 15:33:43
根据tlibimp.exe的参数选项,有一个-Ha+参数,它将“为控件生成集成开发环境组件包装”。
还有一个为组件包装器生成集成开发环境注册的-Hr+。
提供这些参数会有什么不同吗?
因此,您不确定是否必须使用生成的注册码安装组件。
https://stackoverflow.com/questions/491973
复制相似问题