Hi an alle
Ich hab ein kleines Threading-Problem, bei dem ich nicht meht weiter weiss:
Und zwar bekomme ich die Fehlermeldung:
System.ArgumentException: ""DependencySource" muss in demselben Thread wie "DependencyObject" erstellt werden."
Diese Ausnahme wurde ursprünglich von dieser Aufrufliste ausgelöst:
[Externer Code]
Was wohl von diesen Codestellen hervorgerufen wird:
Kann ich da an irgendeiner Stelle einen Dispatcher abfragen und dann statt
Gruss,
kafffee
Ich hab ein kleines Threading-Problem, bei dem ich nicht meht weiter weiss:
Und zwar bekomme ich die Fehlermeldung:
System.ArgumentException: ""DependencySource" muss in demselben Thread wie "DependencyObject" erstellt werden."
Diese Ausnahme wurde ursprünglich von dieser Aufrufliste ausgelöst:
[Externer Code]
Was wohl von diesen Codestellen hervorgerufen wird:
VB.NET-Quellcode
- Public Sub Abspielen_Execute(obj As Object)
- [...]
- SyncTrackEnd = New SYNCPROC(AddressOf WennTrackBeendet) 'TrackBeendet wird aufgerufen wenn Track zu Ende
- Bass.BASS_ChannelSetSync(stream, BASSSync.BASS_SYNC_END, 0, SyncTrackEnd, IntPtr.Zero)
- [...]
- End Sub
- Private Sub WennTrackBeendet(syncHandle As Integer, channel As Integer, data As Integer, user As IntPtr)
- ThreadPool.QueueUserWorkItem((Sub(o)
- TrackBeendet()
- End Sub))
- End Sub
- Private Sub TrackBeendet()
- AbspielenIcon = "xyz"
- PlayToolTip = "Spiele den ausgewählten Musiktitel oder Radiostream ab..."
- IsPlaying = False
- AktuellesCoverArt = Nothing
- WFBild = Nothing
- Select Case Wiederholen
- Case WiederholModus.NichtWiederholen
- If PlaylistGewaehlterIndex = Playlist.Count - 1 Then
- Return
- Else
- NaechsterTrack_Execute(Nothing)
- End If
- Case WiederholModus.PlaylistWiederholen
- If PlaylistGewaehlterIndex = Playlist.Count - 1 Then
- PlaylistGewaehlterIndex = 0
- Else
- PlaylistGewaehlterIndex = PlaylistGewaehlterIndex + 1
- End If
- SpieleNeuenTitel_Execute(Nothing)
- Case WiederholModus.MusiktitelWiederholen
- SpieleNeuenTitel_Execute(Nothing)
- End Select
- End Sub
Kann ich da an irgendeiner Stelle einen Dispatcher abfragen und dann statt
ThreadPool
verwenden? Oder wie würdet ihr beim Debuggen vorgehen?Gruss,
kafffee