01/06/09 11:04
Alfonso
Ciao a tutti
Per liberare la memoria, in Vb6 quando si chiude una form è mia pratica aggiungere in Form_Unload, Set Form = Nothing e per il form di avvio (per es MainForm):
For i = Forms.Count - 1 To 1 Step -1
Unload Forms(i)
Next
Set MainForm = Nothing
End
Nella conversione In Vb8 queste istruzioni sarebbero tradotte in
Private Sub MainMenu_FormClosing(ByVal .... ecc)
' ----- per chiudere in sequenza le form aperte e poter procedere al salvataggio di eventuali modifiche a database
While My.Application.OpenForms.Count > 1
i = My.Application.OpenForms.Count - 1
My.Application.OpenForms(i).Close()
End While
' -------- per forzare il garbage
Form.Dispose()
Application.Exit()
end sub
Ma sono necessarie?
Vb8 è così intelligente che gli basta Form.Close() per effettuare automaticamente Form.Dispose() ?
E (come mi sembra di capire) Application.Exit() procede alla chiusura sequenziale di tutte le form aperte prima di chiudere il programma?
Grazie in anticipo per i chiarimenti.
Per liberare la memoria, in Vb6 quando si chiude una form è mia pratica aggiungere in Form_Unload, Set Form = Nothing e per il form di avvio (per es MainForm):
For i = Forms.Count - 1 To 1 Step -1
Unload Forms(i)
Next
Set MainForm = Nothing
End
Nella conversione In Vb8 queste istruzioni sarebbero tradotte in
Private Sub MainMenu_FormClosing(ByVal .... ecc)
' ----- per chiudere in sequenza le form aperte e poter procedere al salvataggio di eventuali modifiche a database
While My.Application.OpenForms.Count > 1
i = My.Application.OpenForms.Count - 1
My.Application.OpenForms(i).Close()
End While
' -------- per forzare il garbage
Form.Dispose()
Application.Exit()
end sub
Ma sono necessarie?
Vb8 è così intelligente che gli basta Form.Close() per effettuare automaticamente Form.Dispose() ?
E (come mi sembra di capire) Application.Exit() procede alla chiusura sequenziale di tutte le form aperte prima di chiudere il programma?
Grazie in anticipo per i chiarimenti.
aaa