Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#12

Re: saubere Freigabe von (dynamischen) Arrays

  Alt 25. Okt 2004, 13:10
Moin!

Zitat von Luckie:
Zitat von Muetze1:
Die Verwendung von Initialize() und Finalize() verhindert Speicherlecks...
Wie soll man die konkret in so einem Fall einsetzen? Ich werde aus der Hilfe nicht so recht schlau.
Ich hatte früher öfters irgendwo und sporadisch Speicherlecks und z.T. Zugriffsverletzungen ohne Grund - bis ich diese beiden Funktionen eingesetzt habe. Zum grundlegenden Einsatz:

- Vor der Verwendung des Arrays einmalig Initialize() (also auch vor dem SetLength())
- Nach der Verwendung des Arrays einmalig Finalize() (also zuvor SetLength(arr, 0))

Delphi-Quellcode:
Var
  BMPBuffer : Array Of pBitmapBufferEntry;

...

Initialization
  If IsConsole Then
    WriteLn(UNIT_ID);
  Initialize(BMPBuffer);

Finalization
  Finalize(BMPBuffer);

End.
MfG
Muetze1
  Mit Zitat antworten Zitat