Also ich glaube das Problem tritt aufgrund der Dispose Anweisung bei Video-Objekten auf!
Unter "Programm.cs" - "Application.Run(new FormHaupt());" erhalte ich eine "NullReferenceException wurde nicht behandelt." Nachricht. ferner steht da:
"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FormHaupt()); } } |
Zu meinem Programmcode:
ich erhalte ein Array mit speicherpfaden von Videodateien und habe eine Funktion "abspielen", welche nacheinander alle videos aus dem Array wiedergibt. In "abspielen" wird ein neues Video-Objekt erzeugt (
film = new Video(speicherpfad);).
in der Form_Load methode habe ich dem videoobjekt 'film' die ereignismethode 'film_Ending' (
film.Ending += new EventHandler(film_Ending);) zugewiesen in welcher zunächst "
film.Dispose();" steht. Anschließend wird den nächste eintrag aus dem speicherpfad-array aufgerufen und der methode 'abspielen' übergeben, welcher erneut ein videoobjekt namens 'film' erzeugt.
Ich habe als alternative die anweisung "
film.Ending += new EventHandler(film_Ending);" in der methode 'abspielen' gleich nach der Anweisung "film = new Video(speicherpfad);" geschrieben, sodass der eventhandler immer dem aktuellen videoobjekt zugewiesen wird, jedoch ist der Fehler derselbe.
Hat irgendjemand eine Idee, woran der fehler liegen könnte?
Danke für die Hilfe!
Moderiert von
Th69: C#-Tags hinzugefügt