Einzelnen Beitrag anzeigen

TheFrog

Registriert seit: 24. Mär 2009
145 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: RTTI / Memo.Lines / TStrings

  Alt 30. Jun 2010, 09:14
Ich weiß jetzt nicht, ob ich das alles richtig verstanden habe, aber man kann ja leicht auf öffentliche Objekte einer Klasse prüfen:

Delphi-Quellcode:
var
  PList: PPropList;
  PropCount: Integer;
  NestedObj: TObject;
  i: Integer;
begin
  PropCount := GetPropList(AObj, PList);
  for i := 0 to PropCount - 1 do
  begin
    if PList[i].PropType^.Kind = tkClass then
    begin
      NestedObj := GetObjectProp(aInstance, aPropInfo.Name);
      if NestedObj is TStrings then
      begin
        // do something
      end;
    end;
  end;
  FreeMem(PList, PropCount * SizeOf(Pointer));
end;
Damit hat man dann die gewünschte Instanz und kann drauf reagieren, oder über RTTI weiter nach Properties suchen.

Achja, habe den Code nicht ausprobiert, nur mal schnell zusammengeschrieben.

Ich hoffe das hat irgendwie weitergeholfen!

Hans.
  Mit Zitat antworten Zitat