Hallo Community,
ich hoffe ihr könnt mir helfen!
ich versuche mittels FileSystemWatcher meine .txt Dateien auf Änderungen zu überwachen.
Sollte sich dann was ändern, soll die .txt Datei nochmal neu gelesen werden und der Inhalt an eine Textbox übergeben werden.
Das ganze brauche ich für ein auf Textdatei basierter Chatclient.
Ich mach das derzeit so:
Leider funktioniert das nicht ganz. Mein Programm schließt sich einfach ohne Fehlermeldung.
Beim Debuggen bin ich jetzt auf diesen Fehler gestoßen:
"Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement tbInhalt.Text erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."
Jetzt habe ich natürlich auch schon ein wenige recherchiert und bin auf begriffe wie Invoke und dergleichen gestoßen.
Leider, evtl. auch durch falsche Anwendung, hat mir das nicht weiter geholfen.
Ich wäre wirklich dankbar wen mir hier jemand helfen könnte
Viele Grüße,
Danny
ich hoffe ihr könnt mir helfen!
ich versuche mittels FileSystemWatcher meine .txt Dateien auf Änderungen zu überwachen.
Sollte sich dann was ändern, soll die .txt Datei nochmal neu gelesen werden und der Inhalt an eine Textbox übergeben werden.
Das ganze brauche ich für ein auf Textdatei basierter Chatclient.
Ich mach das derzeit so:
VB.NET-Quellcode
- Public WithEvents m_fsv As FileSystemWatcher
- ...
- Private Sub m_fsv_Changed(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles m_fsv.Changed
- Using reader As StreamReader = New StreamReader(TruePfad & "\" & AusgewaehleTxtDatei)
- tbInhalt.Text = reader.ReadToEnd
- reader.Close()
- End Using
- End Sub
- ...
- Private Sub lbTxtAuswahl_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbTxtAuswahl.SelectedIndexChanged
- ...
- Try
- 'Es wird versucht vorhandene Text Dateien einzulesen
- Using reader As StreamReader = New StreamReader(TruePfad & "\" & AusgewaehleTxtDatei)
- tbInhalt.Text = reader.ReadToEnd
- reader.Close()
- End Using
- 'FileSystemWatcher soll aktiviert werden
- m_fsv = New FileSystemWatcher(TruePfad)
- m_fsv.EnableRaisingEvents = True
- m_fsv.SynchronizingObject = value
- m_fsv.Filter = "*.txt"
- Catch ex As Exception
- ....
- End Try
- ...
- End Sub
Leider funktioniert das nicht ganz. Mein Programm schließt sich einfach ohne Fehlermeldung.
Beim Debuggen bin ich jetzt auf diesen Fehler gestoßen:
"Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement tbInhalt.Text erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."
Jetzt habe ich natürlich auch schon ein wenige recherchiert und bin auf begriffe wie Invoke und dergleichen gestoßen.
Leider, evtl. auch durch falsche Anwendung, hat mir das nicht weiter geholfen.
Ich wäre wirklich dankbar wen mir hier jemand helfen könnte
Viele Grüße,
Danny
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „boozone“ ()