안녕하세요...?
하다하다 도저히 안풀려서 여러분께 도움을 청합니다.
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엔 죽어도 값이 안 들어 옵니다...
임포트된 함수 선언에 보면 분명히 두번째 세번