Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

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

  Alt 22. Aug 2020, 17: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)
$2B or not $2B

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