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
[2675] [다시 질문]DLL에서 프로그램 쪽으로 함수 호출....안돼요....(급함)
허문일 [] 3845 읽음    2000-01-12 00:00
다시올려서 미안합니다....기술란이 자료만으로 해결이 안돼서...


: : [상황설명]
: : 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++로 할땐 잘되던건데요....

제 설명이 좀 부족한가요....

이해가 되셨다면...도움을...




+ -

관련 글 리스트
2675 [다시 질문]DLL에서 프로그램 쪽으로 함수 호출....안돼요....(급함) 허문일 3845 2000/01/12
2690     Re:[다시 질문]DLL에서 프로그램 쪽으로 함수 호출....안돼요....(급함) 박지훈.임프 4007 2000/01/13
2679     Re:[다시 질문]DLL에서 프로그램 쪽으로 함수 호출....안돼요....(급함) ricky 4361 2000/01/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.