Quote:
Originally Posted by Jalau
Hm, also hast du ne direkte Idee woher das kommt? Google sagt eigendlich, dass es heißt das eine Datei die lesen oder geschrieben werden sollte, das nicht konnte wegen geschütztem oder vlt auch benutzem Bereich... Ich habe jetzt die ganze Nacht lange keinen Absturz gehabt, nachdem ich alles bis auf Downtify geschlossen habe... Entweder lag es an ein paar Änderungen oder daran das vlt meine MusikPlayer(Winamp, Spotify und iTunes) das irgendwie behindert haben?
|
Ich habe wenig Lust den Code zu debuggen aber was mir direkt einfällt (und ich durch den Code bestätigt bekommen habe) ist die falsche Benutzung von Streams.
Die Streams die genutzt werden (überwiegend der FileStream) werden nie wirklich explizit geschlossen oder disposed. Das OS locked das File (also die heruntergeladene MP3 Datei) und ein erneuter Zugriff darauf führt ganz bestimmt zu einer Access Violation, wenn das Objekt nicht korrekt freigegeben wird.
Es ist sowieso good practice den Stream in einem
using statement zu deklarieren und erstellen, da automatisch Object.Dispose() aufgerufen wird, wenn der Stream out of scope geht (logischerweise direkt nach dem using Block)
Auch kann es zu anderen Fehlern kommen, die auftauchen können wenn der Thread nicht sauber beendet sondern gekillt wird.
[Only registered and activated users can see links. Click Here To Register...]
Quote:
|
And about "why is the file still locked?[...]" it could be because the file stream isn't closed because sometimes the thread may not end successfully and the locks aren't released.
|
Eher Spekulation aber vielleicht hilft es ja. Falls nicht, solltest du den Source wirklich mal debuggen und genau spezifizieren wann der Fehler passiert und wie er passieren könnte. Alternativ kannst du dir auch dein eigenes Programm schreiben, Shawak liefert ja schon ne Vorlage für Libraries und deren Nutzung.