Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#2

AW: Typeinfo als Parameter

  Alt 6. Nov 2013, 11:41
Zitat:
FixStringXX
So weit war ich auch schon, aber leider sind da auch die Generics zu nix zu gebrauchen.
Und aus irgendwelchen Gründen wehren sich Alle gegen die Einführung von Makros, bzw. daß man Konstanten als "Parameter" in den Generics verwenden kann.
Delphi-Quellcode:
TFixString<Len> = record
  Value: array[0..Len-1] of Char;
  class operator implicit(const aValue: string): TFixString;
  class operator implicit(const aValue: TFixString): string;
end;


Zitat:
Jetzt suche ich eine Lösung um die Rtti Informationen von rec als typloser Parameter auszulesen.
P{Pointer} := TypeInfo(TNodeData); kannst du problemlos als Parameter an deine Funktion übergen, oder hab ich dein Problem falsch verstanden?

Du könntest auch TReader und TWriter verwenden, so wie es z.B. die VCL mit den binären DFMs macht.
Dort wurd zu jedem "Wert" auch der Typ mit gespeichert, was das Auslesen von "unbekannten" Datenstrukturen ermöglicht.
Wenn man da Feldname+Wert abspeichet, dann kann man beim Auslesen die Daten sogar in einen anderen Record/Datenobjekt übertragen, da man den Feld-/Propertynamen kennt.
- so kann man Speicher sparen, da man "unnötige" Daten weglässt (in der DFM stehen ja auch nur "abweichende" Property drin)
- wenn man das ausgelesene Feld über seinen Namen sucht, passiert nichts, wenn man an der Struktur des Records was verändert (neue Felder irgendwo einfügen oder Alte entfernen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat