Evitare l'errore "Stream chiuso" dopo aver chiuso un flusso di dati

Da Gambas-it.org - Wikipedia.

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 default "Null":
    fl = Null
 
  Wend

  
  Print "Errore evitato !"

End