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
[53768] Re:빌더6 에서만든 DLL 5에서 사용가능?
utime.김성하 [utime] 972 읽음    2008-06-25 11:23
DLL 파라미터로 TApplication 클래스를 넘기시네요~
아마도 빌더 5와 6의 TApplication 클래스 형식이 달라 발생 할 수 있습니다.

혹은 DLL 함수 호출 방식이 다르게 선언되어 있어 발생할 수 있습니다.

확인 방법은 DLL의 MyMsgBox에 디버깅을 걸어 놓으시고 파라미터가 정상적으로 왔는지 확인 해 보는 것이 가장 좋을 듯 합니다.

이상입니다.

궁금이 님이 쓰신 글 :
: 안녕하세요 궁금한 내용이 있어서 몇자 적습니다.
:  빌더6에서 Form을 포함한 DLL을 만들었습니다.
: 이 DLL을 빌더5에서 Open해서 쓰려고하는데요
: 소스는 아래와 같습니다.
:
: int MyMsg(AnsiString Title, AnsiString Msg)
: {
:    HINSTANCE DllInstance;
:    DllInstance = LoadLibrary("Project2.dll");
:    if(DllInstance == NULL){
:       ShowMessage("NULL");
:       return -1;
:    }
:    MyMsgBox = (int(__stdcall *)(TApplication *, AnsiString, AnsiString))GetProcAddress(DllInstance,
:    "MyMsgBox");
:    int val = MyMsgBox (Application, Title, Msg); //여기서 Error발생합니다.
:    FreeLibrary(DllInstance);
:    return val;
: }
:
:
: int val = MyMsgBox (Application,Title,Msg); 여기서 Access Violation Error가 나는데요...뭐가 문제일까요...
: 참고로 빌더6에서는 잘됩니다.

+ -

관련 글 리스트
53741 빌더6 에서만든 DLL 5에서 사용가능? 궁금이 1263 2008/06/23
53768     Re:빌더6 에서만든 DLL 5에서 사용가능? utime.김성하 972 2008/06/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.