Hallo,
ich werde zur Laufzeit meines Programms eine variable Anzahl an FileSystemWatcher Componenten erzeugen müssen, die ich alle von einer zentralen Routine handlen lassen will. Mein Problem ist nun, wie identifiziere ich den FSW, der das Event ausgelöst hat. Normalerweise würde ich auf etwas in der Art sender.name zurückgreifen, aber FSW scheinen keinen (zugänglichen) .name zu haben. Bin gerade etwas ratlos *?*
In Private Sub FSWEvent müßte ich nun identifizieren können welche dynamisch erzeugte FSW Instanz der 'Auslöser' war.
Hier mal ein Codeschnipsel mit dem aktuellen 'Testzustand' in dem erst mal nur eine Instanz dyn. erzeugt wird.
[highlight=vbnet]
.
.
.
AddHandler FSW.Created, AddressOf FSWEvent
AddHandler FSW.Changed, AddressOf FSWEvent
AddHandler FSW.Deleted, AddressOf FSWEvent
AddHandler FSW.Renamed, AddressOf FSWEvent
.
.
.
Private Sub FSWEvent(ByVal sender As Object, ByVal e As FileSystemEventArgs)
Try
FSW.EnableRaisingEvents = False
System.Diagnostics.EventLog.WriteEntry("FileSystem WatcherService", e.Name.ToString & " -> " & e.ChangeType.ToString, EventLogEntryType.Information)
e.ChangeType.ToString & """")
FSW.EnableRaisingEvents = True
Catch ex As Exception
System.Diagnostics.EventLog.WriteEntry("FileSystem WatcherService", ex.ToString, EventLogEntryType.Error)
End Try
End Sub
[/highlight]
ich werde zur Laufzeit meines Programms eine variable Anzahl an FileSystemWatcher Componenten erzeugen müssen, die ich alle von einer zentralen Routine handlen lassen will. Mein Problem ist nun, wie identifiziere ich den FSW, der das Event ausgelöst hat. Normalerweise würde ich auf etwas in der Art sender.name zurückgreifen, aber FSW scheinen keinen (zugänglichen) .name zu haben. Bin gerade etwas ratlos *?*
In Private Sub FSWEvent müßte ich nun identifizieren können welche dynamisch erzeugte FSW Instanz der 'Auslöser' war.
Hier mal ein Codeschnipsel mit dem aktuellen 'Testzustand' in dem erst mal nur eine Instanz dyn. erzeugt wird.
[highlight=vbnet]
.
.
.
AddHandler FSW.Created, AddressOf FSWEvent
AddHandler FSW.Changed, AddressOf FSWEvent
AddHandler FSW.Deleted, AddressOf FSWEvent
AddHandler FSW.Renamed, AddressOf FSWEvent
.
.
.
Private Sub FSWEvent(ByVal sender As Object, ByVal e As FileSystemEventArgs)
Try
FSW.EnableRaisingEvents = False
System.Diagnostics.EventLog.WriteEntry("FileSystem WatcherService", e.Name.ToString & " -> " & e.ChangeType.ToString, EventLogEntryType.Information)
e.ChangeType.ToString & """")
FSW.EnableRaisingEvents = True
Catch ex As Exception
System.Diagnostics.EventLog.WriteEntry("FileSystem WatcherService", ex.ToString, EventLogEntryType.Error)
End Try
End Sub
[/highlight]
Comment