2

32ビットVCLアプリケーションでDelphiXE2のIMultiLanguage2インターフェイスを使用する方法についてのばかガイドが必要です。

これまでのところ、RAD Studio include \ windows \ sdk \ idlフォルダーでMLANG.IDLを見つけ、OSのSysWOW64にmlang.dllファイルがあることを確認しました。

MLANG.IDLでMIDL.exeを使用してMLANG.TLBファイルを作成することもできましたが(この手順が必要ですか?)、TLBが「登録済み」リストに表示されないためXE2にインポートできません。また、mlang.dll以外に依存関係を作成したくないので、登録しようとはしません。TLibImpはmlang.dllを開きません。

GenTLB(MLANG.IDLを開かない)を見て、「RAD StudioのタイプライブラリはIDLの代わりにRIDLを使用する」というステートメントを含む、タイプライブラリの使用に関するEMBDocwikiの多くを読みました。では、XE2とともにインストールされるIDLファイルの巨大なフォルダーの目的は何ですか?それらはインクルードフォルダにあるので、DelphiではなくC ++でのみ使用できますか?

4

1 に答える 1

4

バイナリ形式のタイプライブラリがすでにある場合は、.tlb[コンポーネントのインポート]ダイアログの[追加]ボタンをクリックしてインポートできます。これにより、.tlbファイルを参照でき、宣言を含むDelphiユニットが生成されます。

tlibimpまたは、コマンドラインツールを使用することもできます。例:

tlibimp -P mlang.tlb

簡単な使用例:

uses
  MultiLanguage_TLB;

var
  M: IMultiLanguage2;
  C: Cardinal;
begin
  M := CreateComObject(CLASS_CMultiLanguage) as IMultiLanguage2;
  OleCheck(M.GetNumberOfCodePageInfo(C));
  ShowMessage(Format('GetNumberOfCodePageInfo: %d', [C]));
end;
于 2012-06-21T13:20:18.420 に答える