1

私はこれに精通しておらず、キックスタートを使用できます。

ATL(アンマネージC ++)ユーザーコントロールを使用していて、ShockWaveActiveXオブジェクトを使用したいと思います。プロパティを設定したり、メソッドを呼び出したりできるように、宣言する方法を知る必要があります。

たとえば、変数を割り当てることができる場合は、「variable-> LoadMovie()」を呼び出します。

私はこれが非常にばかげていることを知っています...ここでそれを尋ねるのはほとんど恥ずかしいです。;) (ほとんど)

4

2 に答える 2

1

dllを#importする場合(COMを使用する場合は、作業が非常に簡単になるためお勧めします)、オブジェクトのCLSIDとペアになっているスマートポインターを使用できます。スマートポインタクラスには、インターフェイス名の後に後置「Ptr」があることに注意してください。

例えば:

ISomeInterfacePtr pSomeInterface( CLSID_SomeComponent );
HRESULT hr = pSomeInterface->SomeMethod();

お役に立てば幸いです。

編集:割り当てのHRESULTを確認する場合は、次の操作を実行できます。

ISomeInterfacePtr pSomeInterface = 0;
HRESULT hr = pSomeInterface.CreateInstance( CLSID_SomeComponent );
于 2009-01-06T15:23:41.043 に答える
0

必要なコードを何度もカットアンドペーストしているので、正確な構文を思い出せませんが、次のことを行う必要があります。

正しいインターフェイスのCComPtr<>を取得し、オブジェクトQueryInterfaceをCreateInstanceして、必要なインターフェイスを取得します(CComPtrを使用していない場合)。

次に、そのメソッドを呼び出します。

または、dllを#importすると、コンパイラがすべてのメソッドとプロパティを含むc++クラスを生成します。

于 2009-01-06T15:20:49.350 に答える