Bin wieder da.
@mkinzler
Delphi-Quellcode:
procedure TReportUnit.AddBlock(Text: String; Image: TBitmap);
var
Block : TBlock;
begin
// block erstellen
Block := TBlock.Create;
// bild und text zuweisen
Block.FImage := Image;
Block.FText := Text;
// block in Blockliste übernehmen
FBlocks.Add(Block);
end;
@himitsu
Habe mir kurz angesehen was es macht. Super Sache, Ich hab alles mit einer For-Schleife freigegeben, wusste nicht das die Liste das kann. Hätte Ich mir mal genauer ansehen müssen.
Jetzt:
FBlocks.OwnsObjects := True;
@Lemmy
Habe drüber nachgedacht aber einige der Bitmaps liegen nie als Pfad vor.
@himitsu
Das finde Ich glaube Ich am besten, also wird das Objekt beim Übergeben verdoppelt und Ich gebe es an beiden Orten wieder frei, das scheint wirklich das Beste.
So ist aufjedenfall sichergestellt, dass das Bild von der Klasse gelöscht wird und wenn der User meiner Klasse nicht genau weiß was er machen soll würde sein Free aufjedenfall nicht mein Bild in der Klasse löschen auf welches Ich ja noch irgendwann später in der Klasse zugreife.
Damit wäre eigentlich alles geklärt. Wenn kopiert wird bleibt im schlimmsten Fall ein Bild im Speicher hängen aber das wird der Programmierer ja dann merken und (oder gleich) wie gewohnt seine Objekte auch wieder Freigeben.
ThX