function StringToComponent(Value: string): TComponent;
var
StrStream:TStringStream;
BinStream: TMemoryStream;
MyReader:TReader;
begin
StrStream := TStringStream.Create(Value);
try
BinStream := TMemoryStream.Create;
try
StrStream.Seek(0, soFromBeginning);//一定要有
ObjectTextToBinary(StrStream, BinStream);
BinStream.Seek(0, soFromBeginning);
MyReader:=TReader.Create (BinStream,BinStream.Size);
MyReader.Parent :=Form1;
result:=MyReader.ReadRootComponent(nil);
MyReader.Free ;
finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
aa:tstrings;
bb:tcomponent;
begin
aa:=tstringlist.create;
aa.LoadFromFile('c:\1.txt');
bb:=StringToComponent(aa.Text);
form1.InsertComponent(bb);
end;
//写在unit结束"end."前面,你可以再加其他的控减定义
initialization
RegisterClasses ([TButton, TMemo]);
//详见帮助streaming utilities不知道就难,知道就简单。互相帮助。
var
StrStream:TStringStream;
BinStream: TMemoryStream;
MyReader:TReader;
begin
StrStream := TStringStream.Create(Value);
try
BinStream := TMemoryStream.Create;
try
StrStream.Seek(0, soFromBeginning);//一定要有
ObjectTextToBinary(StrStream, BinStream);
BinStream.Seek(0, soFromBeginning);
MyReader:=TReader.Create (BinStream,BinStream.Size);
MyReader.Parent :=Form1;
result:=MyReader.ReadRootComponent(nil);
MyReader.Free ;
finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
aa:tstrings;
bb:tcomponent;
begin
aa:=tstringlist.create;
aa.LoadFromFile('c:\1.txt');
bb:=StringToComponent(aa.Text);
form1.InsertComponent(bb);
end;
//写在unit结束"end."前面,你可以再加其他的控减定义
initialization
RegisterClasses ([TButton, TMemo]);
//详见帮助streaming utilities不知道就难,知道就简单。互相帮助。
为function StringToComponent(Value: string;Parent:TWinControl;Owner:TTComponent
): TComponent;MyReader.Parent :=Parent;
MyReader.Owner:=Owner;