Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#9

AW: Namen und Typ aller Attribute einer Klasse ermitteln

  Alt 5. Mär 2017, 19:40
Dank des Hinweises von Uwe war die Lösung nicht mehr schwer:
Delphi-Quellcode:
procedure TForm4.BitBtn3Click(Sender: TObject);
  procedure GetFields(pValue: TClass);
  var
    rttiContext: TRttiContext;
    rttiType: TRttiType;
    attribute: TCustomAttribute;
    rttiField: TRttiField;
  begin
    rttiContext := TRttiContext.Create;
    try
      rttiType := rttiContext.GetType(pValue);
      Memo1.Clear;
      for rttiField in rttiType.GetFields do
        Memo1.Lines.Add(format('%s # %s # %s', [rttiField.Name, rttiField.FieldType.ToString, rttiField.ToString]));
    finally
      rttiContext.Free;
    end;
  end;

begin
  GetFields(TTest);
end;
und das Resultat
Code:
Name1 # string # Name1: string @ 04
Alter # Integer # Alter: Integer @ 08
Mit rttiField.FieldType.TypeKind kann ich direkt auf den Datentyp zugreifen
  Mit Zitat antworten Zitat