Q&A

  • C++로 제작된 com 서버와 통신 문제
안녕하세요...?



하다하다 도저히 안풀려서 여러분께 도움을 청합니다.



VC++로 만들어진 COM서버를 사용하는데요..



타입라이브러리를 임포트해다가 쓰고 있는데..



VC++에서 쓰는건 일케 생겼구요.

virtual HRESULT STDMETHODCALLTYPE fnGetLoginName(

/* [in] */ ULONG ulMaxSize,

/* [out] */ ULONG __RPC_FAR *pulLenLoginName,

/* [size_is][out] */ unsigned char __RPC_FAR *pchLoginName) = 0;



델파이로 임포트된 함수는 일케 생겼습니다.

function fnGetLoginName(ulMaxSize: UINT; out pulLenLoginName: UINT; out pchLoginName: Shortint): HResult; stdcall;



실제로 함수를 사용할때는...



VC++에서는 fnGetLoginName(21, &nLoginLen, achLoginName);

머 이렇게 쓰면 값이 잘 넘어 오거든요...



근데 델파이에서

pulLenLoginName: UINT;

pchLoginName: PChar;



fnGetLoginName(21, pulLenLoginName, pchLoginName);



일케하문 pulLenLoginName나 pchLoginName엔 죽어도 값이 안 들어 옵니다...



임포트된 함수 선언에 보면 분명히 두번째 세번
0  COMMENTS