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