2012-01-27 8 views
2

Delphiプロジェクトをお持ちで、タイプライブラリを追加したい場合は、かなり簡単に行うことができます。Delphiプロジェクトで複数のタイプライブラリを使用するにはどうすればよいですか?

ただし、複数の異なるタイプライブラリを追加できます。デルファイXE IDEは

MyProject.tlb 

私たちのメインプロジェクトで複数のタイプライブラリを持ってできるようにしたいとCOMプラグインを行いますが、私と思い、ドンという名前で、唯一のタイプライブラリを持っているあなたを強制するようです1つのモノリシック型ライブラリが必要ではなく、さまざまな種類のプラグイン用の複数型ライブラリが必要です。

これは実行可能ですか? 「ただ1つのTLBしかない」というルールを適用しているIDEですか?

答えて

3

AFAIKでは、IDEはプロジェクト内で複数のタイプライブラリをサポートしていません。ただし、スタンドアロンの.tlbファイルを作成してOSに登録し、必要に応じてプロジェクトのTypeLibraryでそれらを参照するには、別々の外部タイプライブラリ(ファイル>新規>その他> Delphiプロジェクト>アクティブ>タイプライブラリ)を作成します。

ただし、メインプロジェクトで使用するCOMプラグインを作成するだけであれば、メインプロジェクトにCOMプラグインのタイプライブラリを含める必要はありません。必要なのはインターフェイス定義だけです。生成された<UnitName>_TLB.pasユニットをメインプロジェクトのuses句に必要に応じて追加してください。実際の.tlbファイル自体をメインプロジェクトに追加しないでください。

7

ほとんどの場合可能です。タイプlibsはバイナリの最終コンパイルで別のリソースとして扱われます。

あなたのIDEが1つのタイプのlibに制限しているようです。未処理の.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 

リソースコンパイラは、それを2番目のTYPELIBリソースとして含める必要があります。私は手でこれをやっただけで、私はVisual Studioが提供するサポートを使用しませんでした。

私がEXEをコンパイルすると、それを開いてリソースを調べました。 2つのタイプのライブラリがありました。

Two Type Libraries in an EXE

私はこのことができます願っています。

関連する問題