다음의 페이지를 참고해 보시기 바랍니다.
http://control.gsnu.ac.kr/~zelkava/project/cbuilder/dll_vc_cbuilder.html
http://www.borland.co.kr/bcppbuilder/Developer/special/knowledge/DLL.htm
참고: C++Builder4프로그래밍 바이블 14장 DLL 중/고급
VC++ DLL을 C++Builder로 변환하는 예제
관련 소스
http://www.borland.co.kr/bcppbuilder/book/book.html
에서 다운로드 받을 수 있습니다.
: 다시올려서 미안합니다....기술란이 자료만으로 해결이 안돼서...
:
:
: : : [상황설명]
: : : Visual C++로 DLL을 만들었습니다.DLL을 만들때 제가 미리 만들어 놓은 snmp.lib(C로 짠 static lib)를 링크시켰구요. 즉 기존의 smmp.lib 를 DLL로 만든거죠.
: : : 근데 DLL을 사용하는 프로그램A에서 함수B를 DLL에 등록하여 DLL이 어떤이벤트 마다 프로그램A의 함수B를 부르도록 되있습니다.
: : :
: : : [문제]
: : : 프로그램 A에서 DLL쪽으로 함수 호출은 되는데
: : : DLL 에서 프로그램 쪽으로 호출이 안됩니다..
: : : C++ Builder에서 함수B를 어떻게 선언해야 하나요....?
: : :
:
:
: DLL을 사용하는 프로그램 내에서 DLL내의 함수 호출은 잘 되거든요....기술란에 이과정 설명이 잘소개되어 있는덕분에요...
: 저의 문제는 반대로...DLL 내에에서 프로그램의 함수를 호출하는 경우거든요....
:
: 프로그램이 DLL내의 함수를 호출 하면서 프로그램 내의 함수에 대한 포인터를 파라미터로 넘겨주고
: DLL은 이함수 포인터를 가지고 프로그램 내의 함수를 호출합니다.
: 이때 에라가 나면서 프로그램이 종료하더군요...
:
: 프로그램에서 파라미터로 넘겨줄 함수 선언을
:
: void pop_handler(Pop_Info *pop_ptr)...단순히 이렇게....했거든요...이게 문젠가요?
:
: 그리고 다음과 같이 호출하면서 pop_handler를 넘겨줍니다.
: PopPoll(IP[0], // IP
: "public", // Community String
: 5, // get period
: 1, // Timeout
: 1, // MIB number
: 10, // Retry number
: mib, // Char **
: POPUP_ONE,
: pop_handler, //handler
: pop_timeout_handler, //timeout handler
: "stack name");
:
: 물론 PopPoll 이란 함수는 DLL 내에 있는함수죠....
: 이렇게 하면 ...DLL 쪽에서 pop_handler 를 호출하도록 되어있지요....
: 그런데 DLL 쪽에서 DLL 쪽에서 pop_handler 를 호출하면서 에러가 발생 하더군요...
: Visual C++로 할땐 잘되던건데요....
:
: 제 설명이 좀 부족한가요....
:
: 이해가 되셨다면...도움을...
:
:
:
: