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
[71358] Re:GetProcAddress()로 함수 포인터를 가져오는 문제
aaaa [] 3442 읽음    2014-05-25 13:22
funji 님이 쓰신 글 :
: GetProcAddress()를 사용하여 DLL내에 GetDLLData()라믐 한수를 부르려고합니다.
: 디버깅을하면 GetProcAddress()에서 부르는거에선 에러가 발생하지 않는데...
: GetDLLData()를 호출하면 접근할수 없다는 메세지창이나오면서
: 브레이크버튼을 클릭하면 CPU 창이 뜹니다...ㅠㅠㅠ
:
: //DataLoad.cpp
: ShareData = LoadLibraryA("ShareData.dll");
: if (!ShareData) {
:     //ShowMessage("ShareData.dll not loaded");
: }
: else
: {
:     GDReturnFunc_m GetDLLData;
:     GetDLLData = (GDReturnFunc_m)GetProcAddress(ShareData, "GetDLLData");
:     GetDLLData();                         <<=== 여기서 에러가 납니다.ㅠㅠㅠ
: }
:
: //================================================================================
: //DataLoad.h
: typedef TGlobalDLLData * (*GDReturnFunc_m)();
: extern "C" __declspec(dllimport) TGlobalDLLData *__stdcall GetDLLData();
: //===============================================================================
:
: //ShareData.cpp
: extern "C" DLL_FUNC TGlobalDLLData *__stdcall GetDLLData();
:
: #pragma argsused
:  TGlobalDLLData *__stdcall GetDLLData()
: {
:     return GD;
: }
:
: 메모리를 잘못건드린거가여???ㅠㅠ
: 고수님들 부탁드립니다.

__declspec(dllexport) 가아니라 dllimport네요?

typedef TGlobalDLLData * (*GDReturnFunc_m)(); 여긴 __stdcall 없네요?
: extern "C" __declspec(dllimport) TGlobalDLLData *__stdcall GetDLLData(); 여긴 __stdcall 있는데?
dll안에 함수형식이랑 어플에 함수수형식이랑 같아야 함수를 가저오죠
틀린데 없는 함수라 나오겠죠

+ -

관련 글 리스트
71351 GetProcAddress()로 함수 포인터를 가져오는 문제 funji 3529 2014/05/22
71358     Re:GetProcAddress()로 함수 포인터를 가져오는 문제 aaaa 3442 2014/05/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.