Quantcast
Channel: Visual Basic Tips and Tricks
Viewing all articles
Browse latest Browse all 2212

vb2010 - Scrivere in un file di testo condiviso - errore bloccato da un altro processo

$
0
0
Ciao a tutti

 

Import System.IO

Dim fw As StreamWriter = New StreamWriter("fil.txt", True)

Dim t1 As Date = Date.Now
Dim r As Integer = 0
Do While True
       If Math.Abs(DateDiff(DateInterval.Second, t1, Date.Now)) >= 1 Then
          fw.WriteLine(r.ToString)
          t1 = Date.Now
          r = r + 1
       End If

       If r = 10 Then
          Exit Do
      End If
Loop
fw.Close()
MsgBox("Ok")

Questo è un piccolo codice d'esempio.

il codice scrive un record, in un file di testo, dopo un secondo per un massimo di 10 record

compilo il codice

avvio due istanze dell'exe appena generato

ad un certo punto ottengo l'errore che mi dice che il file è già utilizzato da un altro processo...ovviamente si tratta di una delle due istanze avviate

ecco allora vi chiedo, per cortesia, come posso aprire il file in modo tale da evitare quest'errore ?

Ho provato con writeAll e non mi da nessun problema, ma temo che alla lunga (trattandosi di un file di Log) potrebbe comportare rallentamenti.

Esiste un altro modo per scrivere in un file testo condiviso ?

Grazie a tutti


Viewing all articles
Browse latest Browse all 2212