|
기존에는 VC++6으로 COM 개발한 후 서버에서 DCOM을 써서 Database와의 연결을 했습니다.(원격서버)
클라이언트를 VC에서 Builder로 바꾸려고 하는데 기존에 개발된(VC에서) COM을 DCOM으로 그대로 사용하는 방법을 알고 싶습니다. 물론 원격으로 말입니다.
현재 제가 시도한 방법은 아래와 같습니다.
1. midl로 컴파일 후 생선된 ComSvr.tlb 와 ComSvr_i.c를 VC에서 사용한 것 처럼 unit1.h에 삽입했습니다.
#import "ComSvr.tlb" no_namespace rename("EOF", "ADOEOF")
#include "ComSvr_i.c"
2. 사용할 원격 COM의 인스턴스를 선언했습니다.
ICComSvrPtr gb_pComSvrPtr;
3. 그런 후 이를 이용한 원격 서버(DCOM)의 함수를 사용하는 코딩을 한 후 컴파일을 했더니 다음과 같은 에러가 떴습니다.
[Linker Error] Unresolved external '_com_dispatch_method(IDispatch *, long, unsigned short, unsigned short, void *, const wchar_t *, ...)' referenced from F:\C++빌더\프로젝트\TMS1\UNIT1.OBJ
[Linker Error] Unresolved external '__stdcall _com_issue_error(long)' referenced from F:\C++빌더\프로젝트\TMS1\UNIT1.OBJ
사실 지금 VC 에서 만든 COM을 DCOM으로 사용하고 클라이언트는 Builder로 이를 이용하는 것을 별 무리없이 만들 수 있는 지 .... 잘 모르겠네요.
경험 있으신 분의 조언을 바랍니다.
|