我正在从流中读取一个组件,并希望能够指定所有者属性。
var TComponent : comp;
stream.Seek(0, soFromBeginning);
comp := stream.ReadComponent(nil);
谁拥有comp,我该如何更改?我希望readComponent的参数是所有者,但它似乎做了一些完全不同的事情!
答案 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;