Vb Hilfe

01/09/2011 13:00 Erzengel,#1
Hi ich habe einen einfachen media player mit vb geschrieben mit einer Listbox als Playlist. Nun will ich das er beim schließen des programms den listbox inhalt auf meinem pc abspeichert und mein starten aufruft, sodass ich nicht immer neu die musik laden muss.

Bisher sieht mein Códe so aus:


Wenn ich nun debugge kommt aber folgender fehler:
Was hab ich falsch gemacht??

Ich bin absoluter anfänger in Vb habe mich bei dem code an an youtube tuturial orientiert
01/09/2011 18:38 bestora#2
mh....
DataSource Eigenschaften klingt nach das du es declarieren musst besser

der denkt ja so

WriteText("OWOW")
WriteText("OWOW")
oder ähnlich beim schreiben von texten

Aber das sieht dann so aus
OWOW
OWOW

Aber die Listbox erkennt das nicht
Ich würde sagen, dein fehler liegt an ReadAllText
Wenn du schon For Each benutzt dann für jede einzelne Zeile
So würde ich die Logik lösen

Wenn jemand einen Anderen vorschlag hat dann raus damit
01/09/2011 19:26 Erzengel,#3
ich glaub ich habs selber schon rausgefunden.
Da steht ja im Fehler das das nicht geht weil die datasource eigenschafft bei der Listbox aktiviert ist.
Aber diese muss ja aktiviert sein sonst funktioniert der openfiledialog nicht mehr..

Ich habe auch schon dieses Code ausprobiert

und da kahm der gleiche Fehler.
Heißt das dann man kann grundsetzlich nicht den inhalt einer listbox speichern wenn da bei datasource eigenschafft aktiviert ist?
01/09/2011 20:02 nkkk#4
warum meinst du das dataSource aktiviert sein muss damit OpenFileDialog funktioniert????
01/10/2011 14:32 Erzengel,#5
weil er sonst nichts in die listbox einfügt. Ich habs schon ohne ausprobiert es geht nicht.
Aber ok wenns nicht geht dann gehts nicht. Danke für die antworten.
01/10/2011 14:55 nkkk#6
also es ist so:

mit der DataSource eigenschaft, bindest du die elemente der ListBox an ein Auflistungsobjekt(z.B. ein Array, oder eine Liste).
wenn das geschehen ist kannst du die elemente der ListBox nicht mit Add ändern, da du ja mit der DataSource eigenschaft festlegt das die LostBox genu die elemnte enthält die auch dein Auflistungsobjekt enthält.
du kannst allerdings das Auflistungsobjekt vedrändern und die Bindung aktualisieren.

wenn du also manuell mit Add und remove Element hinzufügen willst darfst du DataSource nicht setzten.
01/10/2011 15:09 Erzengel,#7
und wie muss ich das dann machen wenn das mit add nicht geht?
01/10/2011 16:39 nkkk#8
kommt drauf an auf was du den DataSource eigenschaft gesetzt hast
01/10/2011 17:35 Avarius210#9
Probier mal hinter "Nam" einen Punkt zu schreiben und schaue dort was sonst noch für Eigenschaften aufgerufen werden können.
Z.B. ListBox1.Items.Add(Nam.ToString)
01/10/2011 18:00 Erzengel,#10
ToString ist auch das einzige was kommt und dann kommt der gleiche fehler
01/11/2011 19:20 Avarius210#11
Probier mal das:

PHP Code:
        Dim reader As StreamReader = New StreamReader("Hier der Pfad")
        
Dim zeile As String

        
Try
            Do
                
zeile reader.ReadLine
                ListBox1
.Items.Add(zeile)
            
Loop Until reader.Peek = -1
        
Catch ex As Exception
            MsgBox
(ex.MessageMsgBoxStyle.Critical"Error")
        
Finally
            reader
.Close()
        
End Try