Einzelnen Beitrag anzeigen

r29d43

Registriert seit: 18. Jan 2007
287 Beiträge
 
Delphi 10.4 Sydney
 
#1

In einer Proc deklarierte dynamische Arrays müssen vor Proc-Ende gelöscht werden?!

  Alt 16. Nov 2021, 13:53
Hallo,

irgendwie hatte sich die Frage für mich bis dato noch gar nicht so richtig ergeben, weil ich dynamische Arrays bisher eigentlich immer gerne als Felder der Form selbst deklariert habe.

Nun aber habe ich mal ein paar größere davon in einer Procedure deklariert und bin jetzt irgendwie an der Frage hängengeblieben, ob der von ihnen belegte Speicherplatz am Ende der Proc nicht eigentlich auch freigegeben werden müsste. Weil ähnlich wie bei StringListen, die Größe des von ihnen benötigten Speicherplatzes vorab ungewiss ist und dieser deswegen auch auf dem Heap verortet sein muss.

Und weswegen solche dynamischen Arrays also tatsächlich vorm Proc-Ende auch per SetLength(blabla_dynArray,0) freigegeben werden müssen?

bzw.

Und weswegen solche dynamischen Arrays, wenn sie als Felder im privat/public-Deklarationsteil der Form deklariert sind, dann also auch in "FormDestroy" freizugeben sind?

Thx im Voraus
rXdY

Geändert von r29d43 (16. Nov 2021 um 14:16 Uhr)
  Mit Zitat antworten Zitat