델파이로 만든 DLL을 VC에서 기동을 시켜야 하는데요..
LoadLibrary, GetProcAddress은 어떻게 되서 주소값을 가져오는데, 가져온 주소값으로 함수를 실행시키면
자꾸 프로그램이 뻗네요 ㅠㅠ
[델파이 함수 원형]
function TEST_FUNC(sNo: string; var vrVT1: Variant; var vrVT2: Variant; var sMsg: string;
var cnt : LongInt) : Boolean; stdcall;
이걸 VC로 옮겨려면 어떻게 해야 하는지;;
BOOL TEST_FUNC(LPCTSTRsNo, variant_t &vrVT1, variant_t &vrVT2, LPCTSTR strMsg, long int &cnt);
일단 한번 바꾸긴 했는데;; 자꾸 에러가 나네요;
VC와 호환되도록 하려면 PChar타입으로 정의되어야 합니다.
function TEST_FUNC(sNo: string; --> szNo : PChar;
var vrVT1: Variant;
var vrVT2: Variant;
var sMsg: string; --> szMsg : PChar;
var cnt : LongInt) : Boolean; stdcall;
2. Calling convension
델파이 원형에 stdcall 이 포함되어 있으므로 VC 형식일 때도 __stdcall 이 포함되어야 합니다.
BOOL __stdcall TEST_FUNC(LPCTSTRsNo, variant_t &vrVT1, variant_t &vrVT2, LPCTSTR strMsg, long int &cnt);
도움이 되었길 바랍니다.