COM インターフェイスでアクセスするサードパーティ ライブラリを試してみました。
いくつかのテストでは、メイン フォームを次のように作成しました。
TForm1 = class (TForm, IThirdParyCOMInterface)
TForm1 は IThirdParyCOMInterface のすべてのメソッドを実装しており、必要な機能が得られます。
次のステップは、この COM インターフェイスを処理するためだけに別のクラスを作成することです。
このようなことをする:
TMyClass = class (TInterfacedObject, IThirdParyCOMInterface)
コンパイラ エラーが発生します。
E2291 インターフェイス メソッド IDispatch.GetTypeInfoCount の実装があり
ません E2291インターフェイス メソッド IDispatch.GetTypeInfo の実装が
ありません E2291 インターフェイス メソッド IDispatch.GetIDsOfNames の実装がありません E2291 インターフェイス メソッド IDispatch.Invoke の
実装がありません
( IThirdPartyCOMInterface = interface (IDispatch) )
TForm は既にこれらの IDispatch メソッドを実装しているようですが、私の新しい単純なクラスは実装していません。
上記のような新しいクラスでこれを行うにはどうすればよいですか?
これらの IDispatch メソッドが既に実装されているようにするには、どのクラスから新しいクラスを継承する必要がありますか?
編集:
TAutoIntfObject を見つけました。それは私が必要なものですか?
(COM は私にとって少し混乱を招きます。ここでは推測しているだけです)