메인폼을 그냥 실행후 종료하면 잘 되는데 MDIChild 폼을 만들어주는 Dll의 이 함수를 실행해서 MDIChild 폼을 만든후 닫고 메인폼을 닫으면 화면에서는 사라지는데 프로세스는 남아있습니다. 후후 어떻하죠?
각각의 소스는 아래에 있고 고수님들 부탁합니다.
Dll Source
procedure GetWindow(App: TApplication); cdecl;
begin
DllApp:= Application;
Application:= App;
CForm1:= TCForm1.Create(App);
end;
procedure FreeWindow; cdecl;
begin
CForm1.Close;
end;
procedure TCForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:= caFree;
end;
===============================================================
Main Source
procedure TForm1.Button1Click(Sender: TObject);
begin
GetW(Application);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
FreeW;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Dll:= LoadLibrary('FormDll.dll');
GetW:= GetProcAddress(Dll, 'GetWindow');
FreeW:= GetProcAddress(Dll, 'FreeWindow');
F:= nil;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeLibrary(Dll);
end;