質問

私はこれに詳しくないので、キックスタートを使用できます。

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

たとえば、変数を割り当てることができる場合、「variable-<!> gt; LoadMovie()」を呼び出したい

これは非常にばかげていることを知っています...ここで質問するのはほとんど恥ずかしいです。 ;)(ほぼ)

役に立ちましたか?

解決

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

たとえば:

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

役立つこと。

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

ISomeInterfacePtr pSomeInterface = 0;
HRESULT hr = pSomeInterface.CreateInstance( CLSID_SomeComponent );

他のヒント

必要なコードを何度も貼り付けて<!>アンペア;正確な構文を思い出せないが、次のことをしなければならない:

CComPtr <!> lt; <!> gt;を取得正しいインターフェースの オブジェクトを作成する 必要なインターフェイスを取得するQueryInterface(CComPtrを使用していない場合)

その上でメソッドを呼び出します。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top