Evitare la perdita di memoria chiudendo forzatamente un Form

Da Gambas-it.org - Wikipedia.
Versione del 23 giu 2023 alle 13:41 di Vuott (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

In talune particolari circostanze può accadere che utilizzando, per chiudere un Form (o comunque il programma), l'istruzione Quit si abbia in console questo tipo di messaggio:

gbx3: warning: 1 allocation(s) non freed.

Detto avviso sta a significare che nel chiudere il programma o comunque il Form è avvenuta una perdita di memoria (Memory Leak): l'area di memoria riservata attinente in tal caso ad un componente grafico non è stata liberata adeguatamente e resta pertanto riservata, inservibile, non sovrascrivibile.

Per ovviare a questa perdita di memoria, bisognerà provvedere via codice a liberare l'area di memoria riservata dell'oggetto, agendo mediante la funzione Free(), e prima del comando Quit, sull'indirizzo dell'Oggetto grafico medesimo fornito dal Metodo ".Address()" della Classe Object:

 Free(Object.Address(Button1))

 Quit