안녕하세요 ?
델파이를 접한지 얼마 되지 않는 초보입니다.
하나의 Application 에 Form 이 20개 이상 사용됩니다.
Form 1개만 사용시 파일싸이즈가 700KByte 정도라 각각의 Form을
DLL에 넣으려고합니다.
문제는 Application에서 DLL내의 Procedure를 호출할 때 DLL내의 폼을 생성하는
것을 모르겠네요.
Application 내에서 MyDllForm; 으로 호출하면 DLL내의 Form이 수행되고 Dll 내의Form이 종료되면 다시 Application의 메인 폼이 나오게 하려고 일주일을
고생했는데 실패하여 이렇게 도움을 청합니다.
꼬~~~옥 부탁드립니다.
> 안녕하세요 ?
> 델파이를 접한지 얼마 되지 않는 초보입니다.
> 하나의 Application 에 Form 이 20개 이상 사용됩니다.
> Form 1개만 사용시 파일싸이즈가 700KByte 정도라 각각의 Form을
> DLL에 넣으려고합니다.
> 문제는 Application에서 DLL내의 Procedure를 호출할 때 DLL내의 폼을 생성하는
> 것을 모르겠네요.
>
> Application 내에서 MyDllForm; 으로 호출하면 DLL내의 Form이 수행되고 Dll 내의Form이 종료되면 다시 Application의 메인 폼이 나오게 하려고 일주일을
> 고생했는데 실패하여 이렇게 도움을 청합니다.
>
> 꼬~~~옥 부탁드립니다.
DLL 내의 함수입니다.
unit ...
.
.
.
.
.
procedure MyDllForm(Form :TForm); export;
var
Form1 :TForm;
implementation
procedure MyDllForm(Form :TForm);
begin
Form.Visible := false;
with TForm1.Create(Form) do
Visible := true;
end;
// Close Event를 처리 합니다.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
// 인자로 받은 MainForm을 강제로 보입니다..
TForm(Owner).Visible := true;
end;
MyDllForm을 호출 할 때 MainForm을 인자로 해서 호출 하시면
의외로 쉽게 해결 되더군요....
정확한 답변이 되었는지 모르겠군요...
그럼 이만....