Thema: Delphi Array korrekt freigeben

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Array korrekt freigeben

  Alt Gestern, 12:37
sind beides das gleiche.
Im Ergebnis ist es gleich.

:=nil ist einfacher und schnell/optimaler, da hier nur freigegeben wird, während SetLength erst noch bissl prüft und dann was macht und auch anderes machen könnte (z.B. wenn nicht 0 reingegeben)

Finalize wird praktisch automatisch im END; gemacht und man verwendet es, z.B. wenn man mit Pointer rumpfuscht.

Beim Finalize (InitializeArray/FinalizeArray und InitializeRecord/FinalizeRecord, was ein Array mit Länge 1 darstellt) muß man auch teilweise aufpassen,
denn je nach Aufruf kann man sich damit alles zerballern ... z.B. mit den Finalize-Funktionen, welche am Ende nicht den Speicher Nullen
und initialize prüft nicht, ob schon was drin ist (es geht blind davon aus, dass der Speicher neu ist, also noch nie initialisiert oder gar benutzt wurde)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (Gestern um 12:42 Uhr)
  Mit Zitat antworten Zitat