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不知道就难,知道就简单。互相帮助。