2010년 3월 4일 목요일

com 모듈을 웹에서 사용하는 방법

웹에서 com모듈을 바로 불러쓰는 형태는 바람직한 형태는 아닌거 같지만

ActiveX의 형태를 벗어나고, 크로스 브라우징의 측면에서 보면 꽤 괜찮은 선택인 것 같다..

우선 com모듈을 오류없이 불러 쓸려면 레지스터리 조작이 필수적이다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\PreApproved


이 위치에 키값을 저장시키면 된다.


그리고 com모듈을 만들때 IObjectSafety interface를 추가해줘야 한다.
MFC와 ATL 방식이 있는데.. 난 ATL을 쓰므로 MFC는 패스~

 #include <atlctl.h>


class ATL_NO_VTABLE {customclass} :

...

public IObjectSafetyImpl<{customclass},

INTERFACESAFE_FOR_UNTRUSTED_CALLER |

INTERFACESAFE_FOR_UNTRUSTED_DATA>

....


BEGIN_COM_MAP({customclass})

...

COM_INTERFACE_ENTRY(IObjectSafety)

END_COM_MAP()

 이렇게 하면 된다

참!! com project에서 바로 레지스터리에 추가하는 것도 좋은 방법인거 같다.