function TfrmMain.CreateFormByClassName(const ClassName: string): TCustomForm;
var
AClass: TPersistentClass;
begin
AClass := GetClass(ClassName);
if AClass=nil then exit;
Result := TComponentClass(AClass).Create(Application) as TCustomForm;
//或 Result := TCustomForm(TComponentClass(AClass).Create(Application));
end;
用类引用就可以啊.
procedure TForm1.CreateWinControl(AWinClass:TWinControlClass,AParent:TWinControl,ATop,ALeft:Integer);
begin
with AWinClass do
Create(Self);
Parent:=AParent;
Top:=ATop;
Left:=ALeft;
end;
end;
procedure TForm1.Button1Click(Sender:TObject);
begin
CreateWinControl(TButton,Self,30,30);
end;
手头上没有Delphi,上面的代码还没试过.