L'istruzione End interrompe di brutto l'applicazione, quindi tutti gli oggetti istanziati dell'applicazione (non solo del form) non vengono rilasciati, e spesso e volentieri questo può generare un'errore alla chiusura dell'applicazione una volta compilata, senza conoscere il perchè avvenga.Originariamente inviato da StegcO
anche a me itneressa questa cosa dell'End, non riesco a trovare niente su google che spiega i problemi di questo comando
Di norma questo non avviene quando si esegue il progetto dall'IDE di Visual Basic 6.0, in quanto VB stesso ha dei meccanismi interni che controllano eventuali errori e li risolvono in uscita, a meno che non sia attiva una routine di subclassing che in caso di errore di programmazione blocca inesorabilmente l'esecuzione, ed a quel punto non resta che annientare il processo VB.EXE.
Oltre a questo, ogni volta che il programma viene eseguito mantiene inutilmente occupata una quantità di memoria, che quindi non è più disponibile per il sistema.
Se esegui 5 volte il programma (EXE) e questo ogni chiusura mantiene 100kb di memoria occupata, alla fine avrai 500kb di memoria non più disponile.
Da specificare che questo comportamento può peggiorare con s.o. meno tolleranti come Vista e Seven, quindi End non è una soluzione, semmai aggiunge un problema al problema già esistente.
Se l'applicazione non si chiude correttamente, bisogna andare alla ricerca del perchè, qual'è l'errore che causa questo comportamento perchè, e su questo non c'è alcun dubbio, solo un errore di programmazione causa il malfunzionamento dell'applicazione.
E se non si correggono gli errori, non si sa più cosa può accadere in futuro.
Ecco perchè l'uso di End è sinonimo di cattiva programmazione.
Invece, occorre tirarsi su le maniche ed ispezionare l'esecuzione del codice passo-passo, e l'errore si trova, sempre.![]()
![]()