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
[38699] 델파이의 DLL에 있는 폼을 모달로 띄울때 억세스 에러가 납니다.
Faster [faster] 1501 읽음    2005-01-09 20:45
수고하십니다.


델파이에서 DLL을 만들고 폼을 넣었습니다.

여러개의 폼을 넣었는데 개별적으로 동작하는 것에는 무리가 없습니다.


그런데 그중에 한 폼은 띄워둔채로 다른 작업을 하면 않되어 Modal 창으로 띄웁니다.

그러니까 DLL에 여러 Form 들이 있고 그 것들은 종속을 가지고 있는것이죠.


근데 델파이 프로그램에서는 DLL 내부의 ShowModal이 잘되지만,

그 DLL을 빌더로 옮겨서 Test해보면 ShowModal에서 메모리 억세스 에러가 납니다.


DLL 로 불려진 DLL 메인폼에서 DLL 내부의 다른 폼을 생성하여

procedure TForm2.Button1Click(Sender: TObject);
var
Form3: TForm3;
begin
Form3 := TForm3.Create(Application);// (nil) 둘다 않됨.

Form3.ShowModal;//        <-- 에러 발생. 근데 Form3.Show;는 됨....

Memo1.Lines.Text := Form3.Memo1.Lines.Text;
end;

위와 같이 호출을 하였습니다.

근데 델파이에서는 DLL 상에서 모달폼이 생성이 잘되는데,

빌더에서는 억세스 에러가 납니다.

  HINSTANCE DllInstance;
  DllInstance = LoadLibrary("MDIChild.dll");

  Open = (void(__stdcall *)(TApplication *, TScreen *))GetProcAddress(DllInstance, "Open");
  Open(Application, Screen);


물론 빌더에서 모달폼을 직접 억세스 하는 명령은 없습니다.


아시는 분 부탁드리겠습니다.

감사합니다.

+ -

관련 글 리스트
38699 델파이의 DLL에 있는 폼을 모달로 띄울때 억세스 에러가 납니다. Faster 1501 2005/01/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.