Einzelnen Beitrag anzeigen

Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: TObjektList mit 2 oder mehr TObjekte

  Alt 1. Jan 2019, 19:13
Naja, also es mag auf den ersten Blick zumindest aufwendig erscheinen, richtig - schwierig würde ich jedoch nicht sagen. Aber das ist bei der OOP ja oft so. Am Anfang deutlich zeitintensiver, die Wartung des Codes gestaltet sich zukünftig jedoch viel einfacher.

Ohne Deine bisherige Schreib- bzw. Leseroutinen zu kennen: Es scheint sich um eine Art Konfiguration zu handeln, welche Du speicherst - also nicht besonders zeitkritisch. Von daher ist es relativ egal was Du dort machst und ob Du vorher in einen String umwandelst. In meinem Code sparst du Dir zumindest die Konvertiertung und somit Rechenzeit.

Ich habe auch ObjectLists mit deutlich mehr Parametern (s. Deine Liste) in den Objekten zu speichern. Aber wenn ich jetzt einen zusätzlichen Parameter brauche dann muss ich nur die LoadFromStream und SaveToStream-Methode des Objekts anpassen und alles läuft und nichts wird woanders übersehen. Alles schön gekapselt wie es sein soll.

Willst Du nun 2 ObjectLists in einen Stream speichern, dann brauchst Du nur

Delphi-Quellcode:
ObjectListe1.SaveToStream(MyStream);
ObjectListe2.SaveToStream(MyStream);
schreiben und die Sache ist gegessen. LoadFromStream entsprechend zum lesen. Schwierig ist anders

Ich gehe noch einen Schritt weiter und benutze die TObjectList<T> nur intern in einer Oberklasse und kapsele die Zugriffe (inkl. Items[x]) von außen. Damit habe ich alle Funktionen welche ich brauche (AddItem, DeleteItem etc.) selbst in der Hand.
Michael Kübler
  Mit Zitat antworten Zitat