DLL을 사용해서 프로그램을 만들고 있는데
문제가 생겨 질문을 드립니다...
문제가 뭐냐면..
AForm : MDIFORM (메인폼입니다)
CFORM : DLL을 사용해서 폼을 만듬
프로그램을 실행시키고 DLL을 사용해서 만든 폼을 호출하여 화면에 띄우는
거 까지는 되는데.. 문제는,,,
DLL폼이 화면에 활성화되어 있는 상태에서 메임폼을 닫아버리면 에러나 뜹니다.
function Showsisulselectform: pchar; stdcall;
var
Frm_sisulselect: TFrm_sisulselect;
implementation
{$R *.DFM}
//폼이 한번만 나타나도록...
function Showsisulselectform: pchar;
begin
If Frm_sisulselect = nil then
begin
Frm_sisulselect := TFrm_sisulselect.Create(Application);
try
Frm_sisulselect.Show;
finally
end;
end else begin
Frm_sisulselect.Show;
end;
.
.
.
//FormClose...
procedure TFrm_sisulselect.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Frm_sisulselect := nil;
action := cafree;
end;
<메인폼의 코딩 내용>
//DLL 폼을 부른다.
function Showsisulselectform : PChar; stdcall;
external 'sisulselectDLL.dll';
//클릭 했을때 DLL폼이 뜬다.
procedure TFrm_main.N_NewUpClick(Sender: TObject);
begin
Showsisulselectform;
end;
메인폼이 닫길때 DLL폼을 메모리에서 해제시켜주는 방법
말고 다른 방법 아시는분 꼭 답변 부탁드립니다..