Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#17

Re: StringList weiter reichen zur Eigentliche Klasse

  Alt 31. Okt 2007, 15:58
Ok, es lag nur daran, dass du im Manager noch ein Assign() anstatt der Zuweisung drinne hattest.

Folgende Punkte:

1. Denk dran, dass du alle Instanzen von TInfo die du angelegt hast auch selber wieder freigeben musst. Die Listbox kümmert sich nicht darum!
2. Ich habe "Kommentar" mal verbessert - nur mal so nebenbei
3. Warum ist der Parameter Filename bei LoadFromFile() optional? Ich brauch die Methode Loadfromfile nicht aufrufen, wenn ich keinen Dateinamen habe. Beim speichern sehe ich dass ein: keine Angabe heisst: Speicher unter original geladenem Namen. Aber beim Laden? Ich habe das mal abgeändert.
4. Der Destruktor ist schon virtuell (muss er auch sein), somit zerschiesst du die gesamte Kette der Aufrufe mit der Deklaration eines virtuellen Destruktors in deiner Basisplaylistklasse. Ich habe es abgeändert.
5. Warum definierst und implementierst du Constructoren und Destructoren, wenn sie keinen Code beinhalten? Dies ist nicht nötig und macht den Code nur grösser und damit unleserlicher.
6. Ich habe ein paar Resourcen-Schutzblöcke eingefügt (try/finally), damit die temporären Instanzen auch im Falle eines Fehlers (Exception) wieder ordentlich freigegeben werden.
7. Alles was du direkt nach "class" deklarierst, ist public (oder sogar published). Damit ist es öffentlich einseh- und zugreifbar. (TPlaylistenManager)
8. Beim setzen einer neuen Instanz für die PlaylistenItems (also einer anderen Listbox o.ä.), muss diese Änderung mit durchgereicht werden, so dass die eigentliche Playlist auch die richtige Instanz hat. (siehe SetPlaylistItems())
9. Was macht InitPlaylist() wenn er die Endung nicht kennt? Die Variable wird nicht initialisiert und somit weisst du nicht, ob du eine gültige Instanz in fPlayliste hast nach dem Aufruf oder nicht.
10. TPlaylistenManager.SaveToFile() ruft InitPlaylist() auf, damit erstellst du eine neue Instanz und überschreibst die vorhandene Instanz in fPlayliste

Korrigierte Version im Anhang.
Angehängte Dateien
Dateityp: zip playlisten_neu_945.zip (3,3 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat