Chiudere correttamente un programma, scaricando tutti i Form

Come chiudete il Vostro programma Visual Basic? Utilizzate il metodo End?
Vi spiegherò perché utilizzare il metodo End non sia il miglior modo di chiudere un Vostro programma. E' un fatto non documentato che utilizzando il metodo End  non vengono completamente rimossi dalla memoria tutti i Form. Ciò significa che il Vostro programma non rilascia tutte le risorse agli altri processi quando viene chiuso con il metodo End.  Il solo modo per chiudere completamente il programma è di scaricare ciacuno dei Form con il metodo Unload. Il codice sottostante esegue un controllo attraverso tutti i Form caricati e li scarica uno ad uno.  Così velocemente non essendovi Form caricati, il Vostro programma verrà chiuso.

Public Sub UnloadAllForms()
Dim Form As Form
For Each Form In Forms
    If Form.Name <> "questoform" And Form.Name <> "formdiAvvio" Then
        Unload frm
       
Set Form = Nothing
   End If
Next
End Sub

E' meglio chiamare questa procedura dall'evento Unload del Vostro Form principale, in questo caso togliere il controllo su Form.Name="questoform" (anche se è indifferente).

Testato su: Tutti i Sistemi operativi