Sabo ha scritto:
Si intendo che viene saltata perchè va in errore praticamente sempre e quindi il Try Catch la salta..
Lasciarla o meno non mi crea problemi, proprio perche appunto non mi blocca l'esecuzione, ma volevo capire perchè è stat ainsertita da chi ha scritto il codice (che come detto ho trovato in rete..).
Magari è stata messa da qualcuno che credeva di garantirsi maggiori possibilità di deallocare qualcosa che, in realtà, viene tranquillamente rilasciata senza bisogno di ulteriori provvedimenti.
Sabo ha scritto:
Io ad esempio (reduce da VB6) non avrei nemmeno messo le istruzioni .Close e .Quit ma avrei impostato direttamente a Nothing gli oggetti. Ma forse così è piu pulito, credo...
Queste chiamate dovrebbero invece essere inserite, per rilasciare il prima possibile l'oggetto COM dell'applicazione senza attendere l'intervento del GC.
Immagina uno scenario in cui la tua routine viene chiamata di frequente: potresti avere in un determinato momento più oggetti "aperti" di quelli che realmente ti servono, pregiudicando quindi la corretta esecuzione del programma.
Impostare invece le variabili a
Nothing serve poco, almeno se si tratta di variabili locali che quindi uscirebbero in ogni caso dallo
scope.
Ciao!