Einzelnen Beitrag anzeigen

mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#7

AW: Alle Eigenschaften einer komplexen Datenklasse

  Alt 6. Dez 2022, 14:13
Das mit JSON wäre eine Idee.
Mit mORMot und DocVariant kommst du für die Klasse TButton so zum Ziel:
Delphi-Quellcode:
uses
  mormot.core.base,
  mormot.core.data,
  mormot.core.text,
  mormot.core.json,
  mormot.core.variants,
  mormot.core.unicode,
  mormot.core.rtti,
  mormot.core.os;
  
var
  json: RawJson;
  docData: TDocVariantData;
begin
  json := ObjectToJson(btnPropInfos, [woHumanReadable, woObjectListWontStoreClassName]);
  ShowMessage(Utf8ToString(json));

  docData.InitJson(json, [dvoAllowDoubleValue]);
  CheckEquals(..., docData.I['Left']);
  CheckEquals(..., docData.O['Margins'].I['Left']);
  
initialization
  RTTI.RegisterClasses([TButton]);
Die Ausgabe von ShowMessage sieht so aus (mORMot berücksichtigt alle published Eigenschaften):
Code:
{
  "Tag": 0,
  "AlignWithMargins": false,
  "Left": 24,
  "Top": 140,
  "Width": 113,
...
  "Margins":
  {
    "Left": 3,
    "Top": 3,
...
  "StyleElements": ["seFont","seClient","seBorder"],
Bis bald...
Thomas
  Mit Zitat antworten Zitat