Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Probleme mit FileSystemWatcher (Thread - Übergabe )

Frage Entwicklung VB for Applications

Mitglied: BadFsaadKl

BadFsaadKl (Level 1) - Jetzt verbinden

02.09.2009, aktualisiert 20:33 Uhr, 5502 Aufrufe, 1 Kommentar

Hallo zusammen,

ich habe einen kleinen FileSystemWatcher gebaut, welcher sich das zu überwachende Verzeichniss aus einem Vorhergehenden Formular bezieht.
Der Watcher startet auch ohne Probleme, findet die Dateien mit den Veränderungen...
Aber er gibt mir das Ergebniss nicht in ein Lable aus.

Als Fehler kommt:

"Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement lbl_Watcher erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."

in der Zusammenfassung sieht der Code so aus:

01.
 
02.
imports system.io 
03.
 
04.
Public Class Watcher 
05.
    Private Path2Watch As String 
06.
    Private fsw As FileSystemWatcher 
07.
    Private mEvt As WaitForChangedResult 
08.
 
09.
Private Sub cmd_startwatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_startwatch.Click 
10.
 
11.
        fsw = New FileSystemWatcher 
12.
        Path2Watch = Directory.GetCurrentDirectory() 
13.
        fsw.Path = Path2Watch 
14.
        fsw.IncludeSubdirectories = True 
15.
 
16.
        AddHandler fsw.Created, _ 
17.
          New FileSystemEventHandler(AddressOf IsCreated) 
18.
 
19.
        AddHandler fsw.Changed, _ 
20.
          New FileSystemEventHandler(AddressOf IsChanged) 
21.
 
22.
        AddHandler fsw.Deleted, _ 
23.
          New FileSystemEventHandler(AddressOf IsDeleted) 
24.
 
25.
        AddHandler fsw.Renamed, _ 
26.
          New RenamedEventHandler(AddressOf IsRenamed) 
27.
 
28.
        While True 
29.
            mEvt = fsw.WaitForChanged(WatcherChangeTypes.All) 
30.
        End While 
31.
    End Sub 
32.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
33.
Private Sub IsCreated(ByVal source As Object, _ 
34.
    ByVal evt As FileSystemEventArgs) 
35.
        If fsw.IncludeSubdirectories = True Then 
36.
        lbl_Watcher.Text = (evt.FullPath + " wurde erstellt") 
37.
        Else 
38.
        lbl_Watcher.Text = (evt.Name + " wurde erstellt") 
39.
        End If 
40.
    End Sub 
41.
....
und genau bei dem punkt, wo er den Ihnhalt an das Lable übergeben soll, bricht das Script ab...
die Variable "evt.FullPath" hat die richtigen Werte...gibt diese aber nicht weiter....

hat jemand eine Lösung ???
Oder hab ich irgendwo nur eine Deklaration vergessen ???

Danke
Mitglied: gijoe
03.09.2009 um 01:21 Uhr
Hi,
ich kenne mich in deiner Sprache nicht aus, arbeite aber mit C#. Kann es sein dass du mit Threads arbeitest?

Ich rate jetzt mal, dass du aus einem Thread heraus etwas am GUI verändern willst (dein Label). Das darf allerdings ausschliesslich vom Main-Thread her passieren! Wenn du aus einem anderen Thread das Label ändern möchtest, musst du das über einen Dispatcher lösen.

Google doch mal nach wpf vb.net + dispatcher.
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Eigener Prozess ist schneller als Thread (13)

Frage von Aicher1998 zum Thema Visual Studio ...

Rechtliche Fragen
Alter Systempartner weigert sich Übergabe zu machen (10)

Frage von Xartor zum Thema Rechtliche Fragen ...

JavaScript
Übergabe einer php-Variable an JS

Frage von Rabauke84 zum Thema JavaScript ...

Windows 7
GDT, Übergabe an Medizinische Software (17)

Frage von Hubtus zum Thema Windows 7 ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
Starker PC zum Virtualisieren (10)

Frage von canlot zum Thema Server-Hardware ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (10)

Frage von Paderman zum Thema Server-Hardware ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...