Porre sotto osservazione con Read Watch due o più file
Se si tenta di porre sotto osservazione con Read Watch due o più file, e si impostano le due sub-procedure di lettura File_Read() per ciascun file osservato, viene sollevato un errore di coesistenza di più di una della predetta sub-procedura di lettura di file posti sotto osservazione.
Per ovviare a questo grosso problema, che impedisce di porre sotto osservazione con Read Watch due o più file, è necessario creare - per ciascun file che si intende porre sotto osservazione con le parole chiave Read Watch - una specifica Classe.
Nell'esempio astratto, che segue, porremo sotto osservazione due file-device.
Nella Classe principale porremo sotto osservazione un file:
Private fl As File Public cl As New Class1 Public Sub Main() ' Invochiamo la sub-procedura della Classe secondaria per porre sotto osservazione il secondo file: cl.Osserva() ' Poniamo sotto osservazione il primo file: fl = Open "/percorso/del/primo/file" For Read Watch End Public Sub File_Read() Dim s As String Read #fl, s, -256 Print s End
Nella Classe secondaria specifica porremo sotto osservazione il secondo file:
Private fl As File Public Procedure Osserva() fl = Open "/percorso/del/secondo/file" For Read Watch End Public Sub File_Read() Dim s As String Read #fl, s, -256 Print s End