AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Objektproperties speichern?

Ein Thema von Antigo · begonnen am 12. Apr 2005 · letzter Beitrag vom 12. Apr 2005
 
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Objektproperties speichern?

  Alt 12. Apr 2005, 18:56
Es gibt viele Möglichkeiten ein Objekt persistent zu machen, z.B.
  • Konfigurations-Datei (.ini)
  • Binär-Datei
  • Datenbank (SQL, LDAP)
Du scheinst dich gerade an der zweiten Variante zu versuchen. Spendiere deiner Klasse die Methoden Load und Save. Darin kannst Du dann die property values in den stream schreiben und wieder einlesen. Wenn du mehrere Objekte in derselben Datei persistent machen willst, dann nenne die Methoden LoadFromStream(s: TStream) und SaveToStream(s: TStream). Der Vorteil dieser Methode ist die Geschwindigkeit - es wird kein Parser benötigt, das Objekt weiss, was in welcher Reihenfolge gespeichert und geladen wird. Der Nachteil ist, wie du richtig vermutest, dass jede neue Version deiner Klasse die alten Speicherstrukturen migrieren können muss.

Kleinere Datenmengen, die nur zu Beginn und am Ende deiner Arbeit transferiert werden, kannst Du getrost in einer Konfigurationsdatei ablegen. Die hat den Vorteil, dass sie human readable ist.

Werden deine property values häufig und von mehreren Instanzen deines Programms transferiert, dann kommst du wegen der notwendigen Zugriffskontrolle nicht um eine Datenbank herum.

Der von dir angegebene Quellcode macht nicht viel Sinn, aber das hast du vielleicht schon selbst bemerkt.
  Mit Zitat antworten Zitat
 


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 04: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