我对此并不熟悉,可以使用启动。

我正在使用ATL(非托管C ++)用户控件,并希望使用ShockWave ActiveX对象。我需要知道如何声明它以便我可以设置属性或调用方法。

例如,如果我可以为其分配变量,那么我想调用'variable - <!> gt; LoadMovie()'

我知道这太荒谬了......几乎不好意思在这里问一下。 ;)(差不多)

有帮助吗?

解决方案

如果你#import dll(我建议使用COM时因为它让你的生活变得更容易),你可以使用与对象的CLSID配对的智能指针。请记住,智能指针类在接口名称后面有修复后的“Ptr”。

例如:

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

希望有所帮助。

编辑:如果要查看分配的HRESULT,可以执行以下操作:

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

其他提示

我剪切了<!>放大器;粘贴了必要的代码很多次我记不起确切的语法,但你必须:

获取CComPtr <!> lt; <!> gt;正确的界面, CreateInstance对象 QueryInterface获取您想要的接口(假设您没有使用CComPtr)

然后调用方法。

或者你可以#import dll,然后编译器将为你生成一个包含所有方法和属性的c ++类。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top