在程序中有句:
AAA.Parent := GroupSubj[i].Name;
正常情况:AAA.Parent := gbx1; 那没问题,组件AAA可以在gbx1下生成;
AAA.Parent := gbx2; 那没问题,组件AAA可以在gbx1下生成;
但是我的GroupSubj[i].Name是一个动态生成的有多个, 而且该值是一个字符串,因此上面的一句AAA.Parent := GroupSubj[i].Name报错.
也就是说,如果GroupSubj[i].Name='gbx1',那么 AAA.Parent := 'gbx1';
现在问题是,用什么语句能使得AAA.Parent := GroupSubj[i].Name;中的字符串去掉.....
AAA.Parent := GroupSubj[i].Name;
正常情况:AAA.Parent := gbx1; 那没问题,组件AAA可以在gbx1下生成;
AAA.Parent := gbx2; 那没问题,组件AAA可以在gbx1下生成;
但是我的GroupSubj[i].Name是一个动态生成的有多个, 而且该值是一个字符串,因此上面的一句AAA.Parent := GroupSubj[i].Name报错.
也就是说,如果GroupSubj[i].Name='gbx1',那么 AAA.Parent := 'gbx1';
现在问题是,用什么语句能使得AAA.Parent := GroupSubj[i].Name;中的字符串去掉.....
或者使用工厂模式
AAA.Parent := FindComponent(GroupSubj[i].Name)
AAA.Parent := TGroupBox(FindComponent(GroupSubj[i].Name))
var
Field: ^TGroupBox;
begin
Result:=nil;
if ParentObject <> nil then
begin
Field := ParentObject.FieldAddress(AObjectName);
if Field <> nil then
begin
result:=Field^;
end;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
o:TObject;
begin
o:=GetObject( self, 'GroupBox1' );
self.Label1.Parent:=TGroupBox(o);
end;:)