AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language StringList weiter reichen zur Eigentliche Klasse
Thema durchsuchen
Ansicht
Themen-Optionen

StringList weiter reichen zur Eigentliche Klasse

Ein Thema von mimi · begonnen am 30. Okt 2007 · letzter Beitrag vom 2. Nov 2007
Antwort Antwort
Muetze1
(Gast)

n/a Beiträge
 
#1

Re: StringList weiter reichen zur Eigentliche Klasse

  Alt 31. Okt 2007, 14: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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz