Zitat:
Ok, das widerspricht ja nicht meiner Anpassung, schliesslich kann der Manager schauen ob sein Aufruf mit '' war und entsprechend den internen Filename weiterreichen zu der Playlist Instanz.
Naja, ich wollte schon eine gewisse Freiheit haben, wenn man die Methode benutzt.
Zitat:
Aber zu deinem Problem: Du rufst InitPlaylist() o.ä. im Manager auch vor dem Speichern auf. Dadurch legst du eine neue Instanz an. Rufst du vllt. das Speichern auf?
Ja, weil ich auch die Möglichkeit haben wollte eine m3u Datei in eine pls Datei umzuwandeln.
und das geht meiner meinung nach nur so.
Ich habe mir in deinem Beispiel Projekt die
dpr angeschaut, aber so habe ich mir das eigentlich nicht vorgestellt:
Delphi-Quellcode:
lList := TStringList.Create;
try
PLM := TPlaylistenManger.Create;
try
PLM.PlaylistItems := lList;
PLM.LoadFromFile(ParamStr(1));
finally
PLM.Free;
end;
warum gibst du hier PLM wieder frei ? Ich möchte ihn ja später noch verwenden.
Trotzdem, vielen Dank für deine Hilfe.
Wie könnte ich mein Problem noch beschreiben, damit du es verstehst ?
Also nochmal:
Ich erstelle in meine From1.pas eine Variable von Typ TPlaylistenManger und die heißt PlayListeManger.
Beim erstellen von From1 also im OnCreate Event. verknüpfe ich die TStrings von ListBox1.items mit
"PlayListeManger.PlaylistItems" das das sie gleich sind.
Beim Laden wieder hole ich das im Prinzip wieder:
Dort verknüpfe ich bei der Angebenden Playliste.
Wenn ich jetzt bei TPlayListM3U auf PlaylistItems zugreife müsste ich doch jetzt eigentlich die Listbox1.Items ansprechen, oder nicht ?
und genau hier kommt es zu einem Fehler. Aber ich weiß nicht wo.
Ich könnte es nur mit einem Event lösen. Aber das finde ich blöd.. weil das mehr Aufwand bedeuten würde.
Edit: Wenn ich jetzt intern von einer anderen Procedure aus auf "PlayListeManger.PlayListItems
zugreife ist diese einfach leer. Die Listbox ist aber gefüllt. Sollte die "Verbindung" aufgehoben wurden sein ?