如何指定从Delphi TStream读取的组件的所有者?

时间:2010-04-22 10:30:39

标签: delphi streaming components

我正在从流中读取一个组件,并希望能够指定所有者属性。

  var TComponent : comp;

  stream.Seek(0, soFromBeginning);
  comp := stream.ReadComponent(nil);

谁拥有comp,我该如何更改?我希望readComponent的参数是所有者,但它似乎做了一些完全不同的事情!

1 个答案:

答案 0 :(得分:5)

@Roddy,您可以使用InsertComponent程序设置组件的所有者。

检查此示例

procedure TForm1.Button1Click(Sender: TObject);
var
  Stream : TFileStream;
  Comp   : TComponent;
begin
  Stream := TFileStream.Create('Myfiile', fmOpenRead);
  try
    Comp := Stream.ReadComponent(nil);
    if Comp <> nil then
        InsertComponent(Comp);   //this make the form the owner of the component
  finally
    Stream.Free;
  end;
end;