2010-04-22 4 views
2

Je suis en train de lire un composant d'un flux et je souhaite pouvoir spécifier la propriété Owner.Comment puis-je spécifier le propriétaire de la lecture de composant à partir d'un TStream Delphi?

var TComponent : comp; 

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

Qui possède comp, et comment puis-je le changer? J'avais espéré que le paramètre à lire serait le propriétaire, mais il semble faire quelque chose de totalement différent!

Répondre

5

@Roddy, vous pouvez utiliser la procédure InsertComponent pour définir le propriétaire d'un composant.

vérifier cet échantillon

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; 
+0

parfait, Merci! – Roddy