procedure CreateMyForm(const FormClassName, FormName : string);
begin
if Application.FindComponent(FormName)=nil then begin
if GetClass(FormClassName) <> nil then
with TForm(TComponentClass(FindClass(FormClassName)).Create(Application)) do begin
Name := FormName;
Show;
end
else ShowMessage(Format('类%s未注册',[FormClassName])); end
else begin
ShowMessage(Format('窗体%s已创建过',[FormName]));
TForm(Application.FindComponent(FormName)).Show;
end;
begin
if Application.FindComponent(FormName)=nil then begin
if GetClass(FormClassName) <> nil then
with TForm(TComponentClass(FindClass(FormClassName)).Create(Application)) do begin
Name := FormName;
Show;
end
else ShowMessage(Format('类%s未注册',[FormClassName])); end
else begin
ShowMessage(Format('窗体%s已创建过',[FormName]));
TForm(Application.FindComponent(FormName)).Show;
end;
end;
http://bbs.csdn.net/topics/110082685