怎样自动创建对象?(100分)

  • 主题发起人 主题发起人 TK128
  • 开始时间 开始时间
T

TK128

Unregistered / Unconfirmed
GUEST, unregistred user!
问题描述:
有一对象库中容纳了一些不相同的对象,想用一种简洁的方法来创建属于对象库中的
对象,而不是采取下面这种方式:
Var
Object: TControl;
Begin
Case ObjectName of
'TLable': Object:=TLabel.Create(Self)
'TString': Object:=TString.Create(Self);
....
End;
End;
理想的方法是:建立一个对象索引,如果在索引中查到该对象就调用他的创建方式
 
定义一个对象类型的数组,然后就可以根据数组下标来访问这个对象类型数组中对象的创建
方法.
 
谢谢proman:
你的提示给了我思路,该问题已解决,这个问题中碰到一个基本认识问题,现将解决
这个问题的方法解释一下:
在Delphi中有一种数据类型定义方法: Class of TComponent或其他这种定义方法以前
没有很好的理解,通过碰到这个问题才彻底的理解了这种定义方法,这种定义方法的实质
是建立一个类描述通过这个类型描述可创建任何由TComponent继承下来的类
如:
Type
ClassReference: Class of TComponent;
TTest=Class(TComponent)
....
End;
Var
AA: ClassReference;
Begin
AA:=TImage;
AA.Create(Self);
End;
 
后退
顶部