Filesystem Object schmeisst Exception

  • WPF

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Jojo0405.

    Filesystem Object schmeisst Exception

    Hallo,

    mit folgendem Code versuche ich alle Unterordner eines vorgegebenen Ordners systematisch zu durchlaufen und den Ordnernamen nach einem bestimmten Schema zu Splitten. Das ganze läuft in einem Backgroundworker durch.
    Das hat bis jetzt unter Forms mit folgenden Code auch super geklappt:

    VB.NET-Quellcode

    1. Dim ProgressMaxDel As SetProgressMaxDelegate = New SetProgressMaxDelegate(AddressOf SetProgressMax)
    2. Dim MainFolder As Object
    3. Dim FSO As Object
    4. Dim SubFolder As Object
    5. Dim Folder As Object
    6. Dim temp(3) As String
    7. Dim Movie As String = Nothing
    8. Dim Year As String = Nothing
    9. Dim Resolution As String = Nothing
    10. Dim Destination As String = Nothing
    11. Dim Image As Image = Nothing
    12. Dim izaehler As Integer = Nothing
    13. Dim Genre As String = Nothing
    14. FSO = CreateObject("Scripting.FileSystemObject")
    15. MainFolder = FSO.GetFolder(strDatenOrdnerPfad)
    16. SubFolder = MainFolder.SubFolders
    17. For Each Folder In SubFolder
    18. izaehler = izaehler + 1
    19. Next
    20. Me.Dispatcher.Invoke(ProgressMaxDel, izaehler)
    21. izaehler = 0
    22. For Each Folder In SubFolder
    23. If bgwDatenExport.CancellationPending Then
    24. e.Cancel = True
    25. Exit For
    26. Else
    27. Genre = Nothing
    28. 'Hier wird die Exception geschmissen:
    29. Try
    30. Name = Folder.Name
    31. Catch ex As Exception
    32. MsgBox(ex.Message)
    33. End Try
    34. temp = Split(Name, "_")
    35. Movie = temp(0)
    36. Year = temp(1)
    37. Resolution = temp(2)
    38. strTITLElo = Movie
    39. bgwIMDBimport.ReportProgress(izaehler)
    40. izaehler = izaehler + 1
    41. End If
    42. Next


    Wenn ich diesen Code nun auf WPF umwandle bekomme ich an der genannten Stelle eine Exception.
    Sie lautet:
    "Der aufrufende Thread kann nicht auf dieses Objekt zugreifen, da sich das Objekt im Besitz eines anderen Threads befindet."

    Weiß jemand woran das liegen kann?
    Habe das Problem entdeckt!

    VB.NET-Quellcode

    1. bgwIMDBimport.ReportProgress(izaehler)

    Das war der falsche Backgroundworker!

    VB.NET-Quellcode

    1. Name = Folder.Name

    Außerdem war "Name" nicht eindeutig.
    Jetzt gehts