Einzelnen Beitrag anzeigen

mytbo

Registriert seit: 8. Jan 2007
478 Beiträge
 
#2

AW: Indexed Properties über RTTI abfragen

  Alt 26. Feb 2025, 20:55
Bei der Zuweisung an Value in der oberen Funktion erhalte ich eine Zugriffsverletzung. Was mache ich falsch?
Delphi-Quellcode:
var
  strList: TStringList;
begin
  strList := TStringList.Create;
  try
    strList.Add('Peter');
    strList.Add('Klaus');
    strList.Add('Petra');

    var rttiType: TRttiType := TRttiContext.Create.GetType(TypeInfo(TStringList));
    if rttiType <> Nil then
    begin
      var rttiProp: TRttiIndexedProperty := rttiType.GetIndexedProperty('Strings');
      if (rttiProp <> Nil)
        and (rttiProp.PropertyType.TypeKind = tkUString) then
      begin
        var value: TValue := rttiProp.GetValue(strList, [1]);
        ShowMessage(value.AsString);
      end;
    end;
  finally
    strList.Free;
  end;
In diesem Fall zum Beispiel, wenn die Liste leer wäre.

Bis bald...
Thomas
  Mit Zitat antworten Zitat