//
#import “PROGID:ShockwaveFlash.ShockwaveFlash” no_namespace named_guids
…
//
#pragma once
class ATL_NO_VTABLE CEventHandler :
public CComObjectRootEx<CComSingleThreadModel>,
public IDispatchImpl<_IShockwaveFlashEvents, &DIID__IShockwaveFlashEvents,&LIBID_ShockwaveFlashObjects>
{
public:
BEGIN_COM_MAP(CEventHandler)
COM_INTERFACE_ENTRY(_IShockwaveFlashEvents)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// virtual HRESULT __stdcall raw_OnReadyStateChange (long newState) = 0;
STDMETHOD(raw_OnReadyStateChange) (long newState);
//
STDMETHOD(raw_OnProgress) (long percentDone);
//
STDMETHOD(raw_FSCommand) (BSTR command, BSTR args);
STDMETHOD(raw_FlashCall) ( BSTR request);
};
============
지금 문제가 되는 부분이…
public IDispatchImpl<_IShockwaveFlashEvents, &DIID__IShockwaveFlashEvents,&LIBID_ShockwaveFlashObjects>
이부분인거 같은데요..
뭐가 잘못된걸까요.. 아예 접근 자체가 잘못 되었을가요?
지금 Flash에서 FSCommand를 받고자 하는데 ocx를 열어보니 dual, Automation입니다.
제가 이쪽을 시작한지 얼마 되지 않아 왠만한 검색은 다 해봤는데 어렵네요..
==============에러코드
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlcom.h(4411): error C2664: ‘ATL::CComTypeInfoHolder::Invoke’ : 매개 변수 6을(를) ‘DISPPARAMS *’에서 ‘DISPPARAMS *'(으)로 변환할 수 없습니다.