Evitare la perdita di memoria chiudendo forzatamente un Form

Da Gambas-it.org - Wikipedia.
Versione del 23 giu 2023 alle 14:41 di Vuott (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

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