我想用下面的程序实现动态打开以有的窗体
procedure TMainForm.openform(const Name: string);
var
MyForm: TForm;
ss:string ;
begin
ss:='name';
MyForm := (Application.FindComponent(ss) as TForm);
Myform.show;
end;现在我想在此之上实现打开时是动态的创建
如 application.createform(TXXX,XXX);
XXX.showmodal;
Screen.Cursor := crSQLWait;
if not Assigned(MyForm) then
begin
MyForm := TMyForm.Create(Application);
end;
if not MyForm.Active then
MyForm.Show;
MyForm.WindowState := wsMaximized;
finally
Screen.Cursor := crDefault;
end;//动态创建窗体
procedure TMainForm.ShowForm(TMyForm : TFormClass;MyForm : TForm );
begin
if not Assigned(MyForm) then
begin
MyForm := TMyForm.Create(Application);
end;
try
MyForm.ShowModal;
finally
FreeAndNil(MyForm);
end;
end;
var
MyForm: TForm;
ss:string ;
begin
ss:='name';
MyForm := (Application.FindComponent(ss) as TForm);
Myform.show;
end; 实现但又感觉这样影响速度
能不能改成application.createform 这种 ,即把做好的窗体改为可用窗体呀?(就是动态创建)
结贴?