Nach einem Jahr mache ich mal wieder an objektorientierte Programmierung und komme mit meinem lächerlichen Basiswissen nicht weiter.
Ich arbeite nach einem Tutorial aus dem Internet gerade einen eigenen MP3-Player zusammen und wollte nun folgendes machen:
Wenn ich im ImportDialog-Fenster einen .mp3-Titel auswähle, wird dieser in die Playlist ListBox übernommen. Dort soll sie angezeigt werden. Das wird mit der track-Variable gemacht, so wie ich das verstehe...
Jetzt habe ich aber ein Problem, hier mal der Code:
Private Sub ImportDialog_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ImportDialog.FileOk For Each track As String In ImportDialog.FileNames(Playlist.Items.Add(track)) Next End Sub
Es erscheint folgende Nachricht:
Die track-Variable wird verwendet, bevor ihr ein Wert zugewiesen wird. Zur Laufzeit kann eine Nullverweisausnahme auftreten.
Einen ähnlichen Code besitzt auch der Teil von einem Button, der die Playlist "löschen" bzw. leeren soll. Dort taucht jedoch kein Fehler auf...
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click For Each track As String InImportDialog.FileNames Playlist.Items.Remove(track) Next End Sub
Irgendwie werde ich da nicht schlau draus...
Ich habe wie blöd gegoogelt, jedoch erfolglos und auch das Tutorial hat keine Antworten zu diesem Fehler parat...
Kann mir irgendjemand erklären, wie ich dieses Problem lösen kann? Und ich hoffe, ich habe das so mit dem Code richtig verstanden.
Okay, meine Dummheit bewährt sich mal wieder zum Besten - ich hätte Playlist.Items.Add(track) nicht in eine zusätzliche Klammer setzen dürfen, obwohl ich dies, glaub' ich, unbewusst getan habe... Hmm.
Kann gelöscht werden.