如何在Delphi项目中拥有多个类型库?

Nic*_*ges 2 delphi com typelib delphi-xe

如果你有一个Delphi项目并想要为它添加一个类型库,你可以很容易.

但是,我们希望能够添加多个不同类型的库.Delphi XE IDE似乎强迫您拥有一个且只有一个名为的类型库

MyProject.tlb
Run Code Online (Sandbox Code Playgroud)

我希望能够在我们的主项目中有多个类型库并进行COM插件,但我不想要一个单片类型库,而是需要多种类型的库用于各种不同类型的插件.

这可行吗?难道只是IDE强制执行"只能有一个TLB"规则吗?

小智 7

你当然可以.类型库只是在二进制文件的最终编译中被视为另一个资源.

听起来你的IDE限制你使用一种类型的lib.如果您可以编辑原始.RC文件,则可以在那里包含对.tlb的引用.

EG ..来自.RC文件的TEXTINCLUDE部分.

3 TEXTINCLUDE  
BEGIN
    "1 TYPELIB ""junk.tlb""\r\n"
    "\0"
END

4 TEXTINCLUDE  
BEGIN
    "2 TYPELIB ""junk2.tlb""\r\n"
    "\0"
END
Run Code Online (Sandbox Code Playgroud)

资源编译器应将其作为第二个TYPELIB资源包含在内.我只是手工完成,我没有使用Visual Studio提供的支持.

一旦我编译了我的EXE,我打开它并查看资源.有两种类型的库.

EXE中的两个类型库

我希望这有帮助.