|
Visual C++ 에서 만들어진 DLL 을 C++ Builder 에서 사용하려합니다.
여태까지 몇몇 회사에서 만들어진 Visual C++ DLL 을 사용해서 프로그램을
만들었지만, 이번에 모회사에서 만든 Visual C++ DLL 은 좀처럼 작동이
되질 않네요.
implib 를 이용하여 DLL 화일에서 lib 를 뽑아 C++ Builder Project 에 포함해서
컴파일까지 이상없이 됩니다. 물론 DLL 도 해당 경로에 존재하구요.
문제는 함수를 호출하면 함수가 제대로 작동이 되질 않습니다.
coff2omf 로 변환해서 사용했지만 잘 되질 않고,
implib -a 옵션을 붙여 사용해도 되질 않습니다.
C++ Builder 에서 아래와같이 해더를 선언했습니다.
extern "C" __declspec( dllimport ) __stdcall int OpenServer(int *gate, int invokeID,
OpenData *openData,
NameString serverName,
int portNo,
NetString networkType,
ApplString appName,
SyncMode_Def mode=ctmpV_SYNC);
위와같이 헤더에서 선언하고, __stdcall 을 없애보기도하고, 집어넣기도했지만,
위의 함수에서 인수전달이 잘 안되는지, 계속 에러값만 리턴합니다.
Visual C++ 에서도 위와같은 방법으로 export하여 DLL을 생성했습니다.
혹시, 누구 이와같은 경험하신분 안계시나요 ?
매우 급한 거라서, 아무나 도와 주셧으면 합니다.
그리고, 테스트로 Visual C++ 에서 간단한 DLL 함수를 만들어 호출하는
프로그램을 만들었는데 테스트한 결과 C++ Builder 에서 잘 동작합니다.
하지만, 위의 구조체(OpenData)가 들어있는 함수는 실행하면 제대로 작동이 안되네요..
Visual C++ 에서 DLL 생성시, C++ Builder 에서 지원이 안되는 경우는
어떤 경우가 있을까요 ?
도와주세요.
|