Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
22. Dez 2014
Du hast vollkommen Recht: Ownership ist hier das eigentliche Kriterium.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
22. Dez 2014
Das Problem sind die Setter:
procedure FAMCard.SetHeader(const Value: FAMPanel);
begin
FHeader := Value;
end;
Hier ist der vorige Inhalt von FHeader immer noch instanziert, wird aber nie mehr freigegeben. (Nie, abgesehen davon, daß bei Programmende der Speicher natürlich schon wieder freigegeben wird)
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
22. Dez 2014
Ich kann jetzt nicht prüfen, ob das dein Problem löst, aber für solche zusammengesetzten Komponenten sollte man SetSubComponent direkt nach dem Create verwenden.
constructor FAMCard.Create(AOwner: TComponent);
begin
inherited;
// Default size of fam card
self.Width := 600;
self.Height := 400;