Q&A

  • Dll을 사용해서 폼을 호출 하는데 에러가 나요..좀 봐주세여
text프로젝트 파일이 있습니다.

폼에 버튼을 올려 놓고 클릭 했을때 DLL에 있는 폼을 불러오는 로직 입니다.

procedure CreateForm1( ExeApplication: TApplication; ExeScreen: TScreen ); external 'prjform.dll' name 'CreateForm';

procedure TForm1.Button1Click(Sender: TObject);
begin
   CreateForm1(Application,Screen);
end;


Dll 쪽 소스 입니다. 소스를 참조해서 만들었는데 에러가 나네여...
''''
Init in 'Init.pas';
''''
procedure CreateForm( ExeApplication: TApplication; ExeScreen: TScreen );
begin
  Application := ExeApplication;
  Screen := ExeScreen;

  if form1 = nil then form1:= form1.Create( nil );
  form1.Show;
end;

exports
  CreateForm;

....


unit Init;

interface

uses
Forms;

var
DLLApplication: TApplication;
DLLScreen: TScreen;

implementation

initialization
DLLApplication := Application;
DLLScreen := Screen;

finalization
Application := DLLApplication;
Screen := DLLScreen;

end.


이런 내용을 담고 있습니다....

실행을 시키면
Access violation at adderss 00285DF2 in module 'prjForm.dll'
read of aderss 00000000

이란 에러가 나네여

그냥 폼에서 Dll에 있는 폼을 불러 오고 싶은데여... 어떻게 고치면 될까요

그리고 만일 Mdi폼에서 Mdichild을 불러 오고 싶을 때는 어떻게 해야 하나요
1  COMMENTS