Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#2

AW: C++ Builder lastige Frage / ReallocMem und ReallocMemory

  Alt 22. Aug 2020, 16:52
Länge 0 klingt eher danach, als wenn es hier ein FreeMem sein soll.


Bei ReallocMem wird es als VAR-Parameter reingegeben, während ReallocMemory den neuen Wert als Result zurück gibt.
Siehe auch Delphi-Referenz durchsuchenGetMem und Delphi-Referenz durchsuchenGetMemory.

Ich würde bei Länge 0 es als
Delphi-Quellcode:
FreeMem(FBuffer);
FBuffer := nil;
vermuten, ähnlich eimem FreeAndNil.

Warum hier FreeMem falsch sein soll, hab ich in dem Kommentar nicht verstanden.

Wobei ich auch lieber TBytes bzw. TArray<Byte> und deren automatische Speicherverwaltung verwende, anstatt mit GetMem und Co. rumzuhantieren.
So spare ich mir explizite Ressourcenschutzblöche (Try-Finally) und es kann auch nicht die Freigabe vergessen werden, da sie automatisch passiert. (die bis 16 Byte mehr für das dynamische Array fallen meistens nicht auf)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Aug 2020 um 17:03 Uhr)
  Mit Zitat antworten Zitat