Я пытаюсь написать простую программу для отслеживания папок на наличие новых файлов в 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, так что, возможно, я просто делаю глупую ошибку. Спасибо!