|
질문을 연달아 올리네요...
제목처럼 VC에서 만든 dll을 빌더에서 호출하려고 하는데 함수포인터를 못가져오네요...
dll은 클래스가 아니며 헤더파일에 다음과 같이 되어있습니다...
#define DLLFunction __declspec(dllimport)
...
DLLFunction GC_ERROR GCInitLib (void );
...
이런 식으로 되어 있으며 빌더에서 다음과 같이 호출했습니다...
<Unit.h>
typedef void (__stdcall *LPGCInitLib) ();
class TForm1:: public TForm
{
protected:
HINSTANCE m_hLPCam;
LPGCInitLib fn_GCInitLib;
}
<Unit.cpp>
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
m_hLPCam = LoadLibrary("LPGenTL.dll");
fn_GCInitLib = (LPGCInitLib) GetProcAddress(m_hLPCam, "GCInitLib");
}
이렇게 호출하니까 m_hLPCam엔 값이 들어가는데 fn_GCInitLib는 NULL이 나오네요...
Unit.cpp 파일에
#define DLLEXP __declspec(dllexport)
typedef DLLEXP void (*fn_GCInitLib ) ();
위의 부분을 사용해서 호출해봐도 마찬가지입니다...
DLL 함수를 호출하려면 어떻게 해야 하나요?
|