2012-01-27 76 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

我希望這有助於。

相關問題