C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[65767] VC로 작성된 DLL에 콜백함수를 등록하는 방법 좀 부탁드릴께요
ppt [] 1308 읽음    2011-12-21 01:39
먼저 읽어주셔서 감사합니다.
VC++로 작성된 DLL에 데이터를 받아올 콜백함수를 등록하려 합니다.
아래와 같이 작성을 했는데 어째 제대로 동작을 하지 않는 것 같아 질문드립니다.
답변 부탁드릴께요.

VC로 작성된 dll안에는 아래와 같이 선언되어 있습니다.
bool callback
{
       void __stdcall ReadData(char *szbuf, int nlen)
}

위  dll에서 특정 이벤트가 발생하면 빌더에 선언된 함수로 값을 받아 오려 하는데 함수 포인터를 사용해 본적이
없어 좀 어렵네요... ^^;

// 선언(DLL함수)
typedef bool __stdcall (*pCallBack)(AllocBuffer);

// 이런식으로 선언을 해도 되는지......
void __fastcall TForm1::AllocBuffer(char* szbuf, int nlen)
{
     ..... 데이터 처리
}

//아래와 같이 테스트를 해봤는데 잘 안되네요..
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    HINSTANCE hInst;
    pCallBack CallBack;

    hInst = LoadLibrary("test.dll");

    if (hInst)
        ShowMessage("Load Success");
    else
        ShowMessage("Load Fail");

    CallBack = (pSetCallBack)GetProcAddress(hInst, "testfunc");

    if (CallBack)
    {
        if (CallBack(AllocBuffer))  // 콜백함수 등록
            ShowMessage("Call Success");
        else
            ShowMessage("Call Fail");
    }
}

+ -

관련 글 리스트
65767 VC로 작성된 DLL에 콜백함수를 등록하는 방법 좀 부탁드릴께요 ppt 1308 2011/12/21
65775     Re:VC로 작성된 DLL에 콜백함수를 등록하는 방법 좀 부탁드릴께요 kylix 1634 2011/12/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.