VB.NET 2010で新しいファイルのフォルダを監視するための簡単なプログラムを作成しようとしていますが、何か問題があります。VB.net 2010のファイルアクティビティの問題監視ディレクトリ
Imports System.IO
Public Class Main
Public fileWatcher As FileSystemWatcher
Sub btnGo_Click(sender As System.Object, e As System.EventArgs) Handles btnGo.Click
'//# initialize my FileSystemWatcher to monitor a particular directory for new files
fileWatcher = New FileSystemWatcher()
fileWatcher.Path = thisIsAValidPath.ToString()
fileWatcher.NotifyFilter = NotifyFilters.FileName
AddHandler fileWatcher.Created, AddressOf fileCreated
fileWatcher.EnableRaisingEvents = True
End Sub
Private Sub fileCreated(sender As Object, e As FileSystemEventArgs)
'//# program does not exit when I comment the line below out
txtLatestAddedFilePath.Text = e.FullPath
'//# e.FullPath is valid when I set a breakpoint here, but when I step into the next line, the program abruptly halts with no error code that I can see
End Sub
End Class
あなたが見ることができるように、私がクリックしたときにFileSystemWatcherを初期化するためのボタンがあります。
ここに私のプログラムがどのように見えるかの簡易版です。初期化が行われ、監視対象のディレクトリに新しいファイルを置くと、プログラムはfileCreated
サブに届きます。 e.FullPath
が正しく設定されていることがわかります。しかし、それはエラーコードなしで直後に突然終了します(私は、とにかく見ることができません)。 fileCreated
のすべてをコメントアウトすると、プログラムは期待どおり実行され続けます。
なぜ私が死んでいるのかに関するアイデアはありますか?どんな助けでも大歓迎です。私はVS/VB.NETにはかなり新しいので、たぶん私は愚かな間違いをしているだけかもしれません。ありがとう!
Aha、それはクロススレッドの問題でした。あなたのソリューションは完璧に働いた、ありがとう! –
それは完璧なマキシムです、ありがとうございます! – ucef