大家帮忙啊,能不能根据 类名(classname) 动态创建对象 或者获得对象类型(classtype)???

sxf_zero 2005-10-19 11:57:52
能不能根据 类名(classname) 动态创建对象 或者获得对象类型(classtype)???
...全文
332 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiirii 2005-10-20
  • 打赏
  • 举报
回复
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;

用到 GetClass, RegisterClass

http://gjianfu.tlw.cn/6682.htm

http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=75718
cxj1976 2005-10-20
  • 打赏
  • 举报
回复
with TClassName.Create(Self) do
begin
Parent:=Self; //如果是可视控件,必须有这句,否则无法显示
Name:='ControlName;
Top:=10;
Left:=10;
end;
alexanda2000 2005-10-20
  • 打赏
  • 举报
回复
用类引用就可以啊.
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,上面的代码还没试过.

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧