2012-01-27 57 views
2

如果你有一个Delphi项目,并想添加一个类型库,你可以很容易。如何在Delphi项目中使用多个类型库?

但是,我们希望能够添加多个不同类型的库。德尔福XE IDE似乎迫使你有一个名为

MyProject.tlb 

我希望能有多种类型库在我们的主要项目,并做COM插件,不过我还是要说有且仅有一个类型库不需要一个单一类型的库,而是需要多种不同类型的插件的类型库。

这是可行的吗?它只是执行“只能有一个TLB”规则的IDE吗?

回答

3

AFAIK,IDE不支持项目中的多个TypeLibraries。但是,您可以执行的操作是创建单独的外部TypeLibraries(文件>新建>其他> Delphi项目>活动>类型库)以创建独立的.tlb文件,将其注册到操作系统,然后在需要时在项目的TypeLibrary中引用它们。

但是,如果您所做的只是创建您的主项目使用的COM插件,则无需在主项目中包含COM插件TypeLibraries。所有你需要的是接口定义。只需将生成的<UnitName>_TLB.pas单元添加到您的主项目的uses条款中。不要将实际的.tlb文件本身添加到您的主项目中。

7

你当然可以。类型库仅作为二进制文件最终编译中的另一个资源。

这听起来像你的IDE限制你到一个类型的库。如果您可以编辑原始.RC文件,您可以在其中包含对.tlb的引用。

E.G ...从.RC文件的TEXTINCLUDE部分。

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

4 TEXTINCLUDE 
BEGIN 
    "2 TYPELIB ""junk2.tlb""\r\n" 
    "\0" 
END 

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

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

Two Type Libraries in an EXE

我希望这有助于。

相关问题