Как я могу указать владельца компонента, прочитанного из Delphi TStream? - PullRequest
2 голосов
/ 22 апреля 2010

Я читаю компонент из потока и хочу иметь возможность указать свойство Owner.

  var TComponent : comp;

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

Кому принадлежит комп и как я могу его изменить? Я надеялся, что параметр readComponent будет владельцем, но, похоже, он делает что-то совершенно другое!

1 Ответ

5 голосов
/ 22 апреля 2010

@ Родди, вы можете использовать процедуру 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...