//

#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 *'(으)로 변환할 수 없습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *