Einzelnen Beitrag anzeigen

Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#1

TImage/TRichEdit erstellen - was heisst Owner und Parent?

  Alt 29. Nov 2006, 17:38
Hallo,

zum Ausdrucken von Bitmaps verwende ich ein TImage, das ich "from the scratch" neu erzeuge, weil es anderweitig ja nicht benötigt wird:

Delphi-Quellcode:
   TBPMLogo = class (TObject)
     DummyImage : TImage;
{...}

procedure TBPMLogo.Assign (PFName : ShortString; IOwner : TComponent);
begin
if not Assigned (DummyImage) then DummyImage := TImage.Create (IOwner);
{...}

procedure TBPMLogo.Done;
begin
if Assigned (DummyImage) then FreeAndNil (DummyImage);
{...}

PrinterLogo.Assign (ExtFile,self);
Self ist das Hauptformular, und das Ganze funktioniert auch wie man es nach der Hilfe erwarten würde. Versuche ich jedoch das gleiche mit einem RicheEdit-Control, erhalte ich verschiedene Exceptions beim Zugriff auf das Control. Nach Suchen in Delphiforen und Google habe ich ergänzt:

Delphi-Quellcode:
procedure TBPMPaper.Assign (PFName : ShortString; ROwner : TForm);
begin
if not Assigned (DummyRE) then DummyRE := TRichEdit.Create (nil);
DummyRE.Parent := ROwner;
{...}
So weit so gut, aber mir fehlt die Erklärung dazu: wann wird Owner gebraucht, wann Parent, oder sollte man immer beides setzen und es ist reiner Zufall, dass TImage auch ohne Parent funktioniert? Wer weiss was genaues?

Danke, Reinhard
  Mit Zitat antworten Zitat