Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by jaenicke,
4. Apr 2009
Überlege einmal was du da machst... Panel := TPanel.Create(Self);
inherited Create(Panel);Du erstellst ein Panel, das deiner Komponente gehört, und danach sagst du, dass die Komponente dem Panel gehört...
Was passiert jetzt beim inherited? Kurz gesagt wird dem Panel als Besitzer gesagt, dass deine Komponente hinzugefügt werden soll. Die dafür aufgerufene Methode wiederum informiert das...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by jaenicke,
30. Mär 2009
Wenn du den Owner des Panels auf den übergebeben setzt und den deines Images auf das Panel, dann brauchst du dich um die Freigabe nicht mehr zu kümmern.constructor TPaneledImage.Create(AOwner: TComponent);
begin
FPanel := TPanel.Create(AOwner);
inherited Create(FPanel);
// Eigenschaften für das Image im Panel festlegen
Align := alClient;
end;
procedure...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by jaenicke,
30. Mär 2009
Naja, der genannte Fehler an sich sollte sich ja leicht beheben lassen indem du prüfst, ob FParent nil ist: if FParent <> nil then
begin
FParent.Left := ALeft;
FParent.Top := ATop;
FParent.Width := AWidth;
FParent.Height := AHeight;
end;Allerdings sehe ich nicht so recht wie das ansonsten klappen könnte die Objekthierarchie im Konstruktor so hinzubiegen wie du dir das...