Jag har en rutin (se nedan) som skriver en given textsträng till slutet av en textfil. Först kollar den dock om filen finns; om den inte finns skapas den innan det sedan skrivs något till den. prova med AppendText i ställetSläppa skapad fil
Jag får problem när filen inte finns sedan tidigare och den skapas, för då kommer jag inte vidare på raden "objReader = New StreamReader(File.OpenRead(strPath))" utan får felmeddelandet "Processen kan inte komma åt filen C:\test.txt eftersom den används i en annan process".
På något sätt måste jag "släppa" filen, men jag vet inte hur jag ska åstadkomma det. Dispose verkar vara något om jag läser forum på nätet, men får inte det heller att fungera. Har prövat med att sätta in en paus efter "File.Create(strPath)", men inte heller det hjälpte något.
Något som kan säga hur jag ska modifiera koden nedan för att få detta att fungera även om filen inte finns sedan tidigare?
Public Sub SkrivTillFil(ByVal strPath As String, ByVal strText As String)
Dim strTidigare As String
Dim objReader As StreamReader
Dim objWriter As StreamWriter
Try
If (File.Exists(strPath) = False) Then
File.Create(strPath)
End If
objReader = New StreamReader(File.OpenRead(strPath))
strTidigare = objReader.ReadToEnd
objReader.Close()
objWriter = New StreamWriter(File.OpenWrite(strPath))
objWriter.Write(strTidigare & strText)
objReader.Close()
objWriter.Close()
Catch myException As Exception
msgbox(myException.Message)
End Try
End SubSv: Släppa skapad fil
http://msdn.microsoft.com/en-us/library/system.io.file.appendtext.aspx