TMyClass = class(TPersistClass)
public //或 private
FLabel: TLabel;
end;
TClassOfMyClass = class of TMyClass;
假设已获得TMyClass的实例 FMyClass,如何用 Rtti,创建 TLable 实例后,指给 FMyClass.FLabel﹖创建 TLable 应该用 Instance:=TLabel.NewInstance as TLabel吧
怎么指派Instance给 FMyClass.FLabel呢﹖(用RTTI哦)
public //或 private
FLabel: TLabel;
end;
TClassOfMyClass = class of TMyClass;
假设已获得TMyClass的实例 FMyClass,如何用 Rtti,创建 TLable 实例后,指给 FMyClass.FLabel﹖创建 TLable 应该用 Instance:=TLabel.NewInstance as TLabel吧
怎么指派Instance给 FMyClass.FLabel呢﹖(用RTTI哦)
在后续阶段可能有 FLabel2, 或 FLabel3,或者甚至不用 FLabel 命名,叫什么 FGood: TLabel 都有可能。
将来只能取到它的名和类,比如字符串 'FLabel2','TLabel'
然后需要产生一个 Instance,指定给 'FLabel2' 用 RTTI 找出来的 FLabel2 属性。网络上的例子只有 RTTIField.SetValue(Instance, TValue),能够设值给Field,比如 String, Integer 的,却没有能够设 TLabel2.Instance 给 'FLabel2' 所表示的Field的。所以,问题:如何用RTTI,设 TLabel2.Instance 给 'FLabel2' 所表示的Field﹖