メモ帳としても機能する暗号化プログラム(CryptoMatic)を作っています。次のコードを持つ Open 関数があります。
Dim r As New StreamReader(filename)
Dim text As String = r.ReadToEnd
txtFileContents.text = text
r.Dispose()
r.Close()
保存ボタンと名前を付けて保存ボタンがあり、保存ボタンはファイルが以前に保存されたかどうかを確認します。はいの場合、次のコードでそのファイルに書き込もうとしています:
Dim myFileStream As New System.IO.FileStream(filename, FileMode.Append, FileAccess.Write, FileShare.None)
myFileStream.Lock(0, 100)
Dim myWriter As New System.IO.StreamWriter(myFileStream)
myWriter.WriteLine(text)
myWriter.Flush()
myWriter.Close()
myFileStream.Close()
myFileStream.Unlock(0, 100)
保存ボタンを押すと、次のエラーが表示されます。
The process cannot access the file 'C:\Users\VisualTech\Documents\Visual Studio 2010\Projects\CryptoMatic Update\CryptoMatic Update\bin\Debug\text.txt' because it is being used by another process.
アプリケーションが停止します。誰か助けてください。