Einzelnen Beitrag anzeigen

Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#8

AW: Verantwortlichkeiten / Wer kümmert sich um Freigeben

  Alt 26. Jul 2012, 13:22
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
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat