Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: Typeinfo als Parameter

  Alt 6. Nov 2013, 14:07
Um von den Ansistrings wegzukommen probiere ich mehrere Möglichkeiten.
Wenn Du die alten Daten verarbeiten musst, spricht doch nichts dagegen, die einzulesenden Strings explizit als AnsiString zu deklarieren. So steht es nun einmal in der Datei drin (wenn es denn eine Datei ist).

Vielleicht legst Du pro Record eine String-Property an, die diese AnsiStrings konvertiert, eventuell auch als lazy load (wenn Performance eine Rolle spielt).

Ich habe das allerdings mal so gelöst, das meine 'Records' nun Klassen sind. Jede Klasse hat eine Load und Store Methode, die die einzelnen Daten/Felder bytegenau ausliest bzw. abspeichert, und zwar genauso, wie das der Record gemacht hat.

Aus Bockread(myFile, @myRecord, SizeOf(myRecord)) wird dann MyClass.Load(myFileStream); . Das ist zwar ein wenig Arbeit, aber nur 1x und straight forward. Für die einzelnen Load/Store-Methoden schreibe ich Unit-Tests, um sicherzugehen, das die Daten genauso abgelegt/gelesen werden, wie der Record.

Ich mach mir da keine großen Gedanken um Generics oder tolle allgemeingültige Lösungen. So ein TFixString<irgendwas> ist doch schwer zu lesen und bringt eigentlich auch nicht viel.
  Mit Zitat antworten Zitat