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

델파이 Q&A
Delphi Programming Q&A
[12880] Re:Re:Re:Re:델파이에서 VC2008의 DLL을 이용한 콜백함수 사용에 관한 질문
주성환 [pictions] 2374 읽음    2009-08-28 19:21
답변 감사합니다.

그러면 콜백함수 말고 MFC DLL에서 LPVOID형을
델파이에성 어떻게 써야 하나요?

MFC에서 작성한 DLL 함수는
extern "C" __declspec(dllexport) BOOL ExecuteTest3(LPVOID lpCallbackFunc);
이런 식으로 사용했는데요..

델파이에선 어떻게 선언해야 되져??

MFC에선 명시적으로

BOOL (*g_fnExecuteTest3)(LPVOID);

HINSTANCE hDLL;
hDLL = LoadLibrary("test3.dll");
g_fnExecuteTest3    = (BOOL(*)(LPVOID))GetProcAddress(hDLL, "ExecuteTest3");

이런식으로 사용했는데..
델파이는 어떻게 해야 하나요?

Lyn 님이 쓰신 글 :
: 상관 없어요.
:
: 양쪽의 형태만 맞춘다면
:
: 주성환 님이 쓰신 글 :
: : cdecl 가 아니라 stdcall을 써도 되나여??
: :
: : function CallbackFunc(index:integer): Boolean; stdcall;
: : 이렇게 썼더니 인덱스값이 이상하게 나오네요..
: : 
: :
: :
: : 정재만 님이 쓰신 글 :
: : : procedure CallbackFunc(index:integer); cdecl;
: : :
: : : 하심이~
: : :
: : : 주성환 님이 쓰신 글 :
: : : : 안녕하세요..
: : : : 죄송하지만 델파이를 전혀 모르는 저로서는 해결 방법이 없어 이렇게 글을 올립니다.
: : : : 시급한 문제라..^^
: : : :
: : : : VC2008을 이용하여 DLL을 만들었습니다.
: : : : DLL을 3가지 사용하는데
: : : : test1.dll, test2.dll, test3.dll 이렇게 3개를 만들고
: : : :
: : : : 종속성은 test1.dll이 test2.dll을 종속하고 test2.dll은 test3.dll을 종속하여
: : : : 사용자가 test3.dll의 함수만 사용하면 되는데요..
: : : :
: : : : test3.dll에서 사용자 정의 콜백함수를 사용하기 위해 다음과 같이 선언했습니다.
: : : :
: : : : extern "C" __declspec(dllexport) BOOL ExecuteTest3(LPVOID lpCallbackFunc);
: : : :
: : : : -> LPVOID lpCallbackFunc에는 응용에서 사용할 콜백 함수
: : : :     void CallBack(int nIndex) 형식의 함수를 넘겨주면 됩니다.
: : : :
: : : : test1.dll내부에 있는 쓰레드에서 콜백함수에 0~99까지의 인덱스를 순차적으로 넘겨주면 되는 테스트 프로그램인데
: : : : MFC에서 응용프로그램을 만들어서 테스트한 결과 0~99까지 순차적으로 인덱스를 받아옵니다.
: : : :
: : : : 하지만 델파이로 테스트한 결과 access violence가 발생합니다.
: : : :
: : : : 델파이로 응용프로그램을 만들때 어떻게 콜백함수를 만들어 VC++에서 만든 DLL에 삽입하는지
: : : :
: : : : 부탁드립니다.
: : : :
: : : : 테스트용 dll 파일을 첨부합니다.

+ -

관련 글 리스트
12876 델파이에서 VC2008의 DLL을 이용한 콜백함수 사용에 관한 질문 주성환 2078 2009/08/28
12877     Re:델파이에서 VC2008의 DLL을 이용한 콜백함수 사용에 관한 질문 정재만 3091 2009/08/28
12878         Re:Re:델파이에서 VC2008의 DLL을 이용한 콜백함수 사용에 관한 질문 주성환 1688 2009/08/28
12880                 Re:Re:Re:Re:델파이에서 VC2008의 DLL을 이용한 콜백함수 사용에 관한 질문 주성환 2374 2009/08/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.