0

我可以通过 tlibimp.exe 导入类型库,但是当我打开 IDE 时,这些库不在 activex 托盘中。我似乎也不知道如何让它安装到特定的包中。在 IDE 中,“导入类型库”对话框中有一个安装按钮。如何在命令行中执行此操作?

当我在 CBuilder5\Imports 文件夹中查看由 tlibimp 生成的 OCX.cpp 文件时,我看到“错误:创建 (TTVBH3D) 的调色板位图时出错:没有为此 CoClass 注册服务器”。这与问题有关吗?


编辑:

我希望能够在不通过 IDE 的情况下将组件安装到 activex 调色板,以便在构建期间可以自动化该过程。任何解决方案都必须能够完全自动化。

4

2 回答 2

0

根据 tlibimp.exe 的参数选项,有一个 -Ha+ 参数将“为控件生成 IDE 组件包装器”。

还有一个 -Hr+ 为组件包装器生成 IDE 注册。

提供这些参数中的任何一个有什么不同吗?

由此不确定您是否必须使用生成的注册码安装组件。

于 2009-01-29T15:33:43.317 回答
0

首先,使用您要安装的 ocx\dll 运行 tlibimp.exe(位于 Program Files\Borland\C++Builder\Bin 下)。

其次,找到tlibimp生成的cpp文件(可以用tlibimp指定输出路径),在文件底部找到字符串“Servers”,将其替换为“ActiveX”。此字符串确定要安装到的调色板。我不确定这是否可以用 tlibimp 指定,但它看起来不像。

接下来,编译包含类型 library\activex 组件的包。

最后,向注册表添加一个键。密钥位于 HKCU\Software\Borland\C++Builder\5.0\Knownpackages 下。键的名称应该是您刚刚编译的包的路径(例如,$(BCB)\Bin\applet50.bpl)。

打开 BCB 后,您将看到 activex 调色板下的组件。

这是我能找到的唯一可以自动化的方法。

于 2009-04-21T20:15:23.080 回答