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
[65775] Re:VC로 작성된 DLL에 콜백함수를 등록하는 방법 좀 부탁드릴께요
kylix [] 1634 읽음    2011-12-21 17:03
일반적으로 다른 dll과 연동이나 API호출시 콜백함수는 순수한 함수입니다. 메소드가 아니라....

님이 작성하신 것은 TForm1의 메소드입니다. 일반함수로 바꾸세요.

ppt 님이 쓰신 글 :
: 먼저 읽어주셔서 감사합니다.
: 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 1309 2011/12/21
65775     Re:VC로 작성된 DLL에 콜백함수를 등록하는 방법 좀 부탁드릴께요 kylix 1634 2011/12/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.