Differenze tra le versioni di "Evitare l'errore "Stream chiuso" dopo aver chiuso un flusso di dati"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "In taluni casi il codice torna a eseguire una riga contenente una variabile di tipo ''File'' o ''Stream'' oppure ''Process'' in una fase, in cui ormai il flusso di dati è sta...") |
(Nessuna differenza)
|
Versione delle 16:09, 27 lug 2024
In taluni casi il codice torna a eseguire una riga contenente una variabile di tipo File o Stream oppure Process in una fase, in cui ormai il flusso di dati è stato già chiuso con l'istruzione Close o con il Metodo ".Close()" di uno dei citati Oggetti che gestiscono un flusso.
In questa circostanza sarà sollevato un errore che ci avverte che lo Stream è chiuso.
Per evitare questo errore, dopo la chiusura del flusso di dati si potrà assegnare esplicitamente alla variabile di gestione del flusso il valore di default "Null", e controllare lo status dell'Oggetto gstore del flusso mediante la funzione nativa "IsNull()".
Mostriamo un semplice esempio:
Public Sub Main() Dim fl As File Dim b As Byte fl = Open "/percorso/di/un/file" For Read While Not IsNull(fl) ' Se l'Oggetto gestore del flusso "non" è nullo, allora il ciclo continua Read #fl, b fl.Close ' Assegna all'Oggetto gestore del flusso il valore di defaul "Null": fl = Null Wend Print "Errore evitato !" End