Nein... Ich habe mir natürlich den Thread schon angesehen, bevor ich hier die Frage gepostet habe.
Das Funktioniert natürlich nur, wenn das Interface auch eine Methode .AsString hat... Jetzt kann man natürlich sagen, dann verpasse ich meinem Interface halt so eine Methode.
Wäre sicherlich auch die bessere Stelle als im Visualizer... Aber dann kann ich auch im "Fenster der Überwachten Ausdrücke" MyInterface.AsString schreiben und brauche keine Visualizer mehr...
(Abgesehen vom Maus-Over Display)
Oder übersehe ich etwas?
Ich hatte gehofft es gibt sowas wie:
Delphi-Quellcode:
Var
LocalInterface : IMyInterface;
begin
LocalInterface := CurThread.Evaluate(Expression+'.Instance');
Result := LocalInterface.Foo+' '+LocalInterface.Bar+' Cool : '+LocalInterface.Fancy;
end;
Ich habe in meinem FDK viele Interfaces und möchte diese "korrekt" im Fenster der Überwachten Ausdrücke darstellen - und das auch ohne, dass der User eine .AsString implementieren muss. (Jetzt könnte man natürlich sagen... So kann der User sich das besser anpassen... Tja, es gibt immer zwei Seiten...)
Mavarik
PS. In der "case EvalRes of" fehlter das erError, daher hatte ich auch nie ein Ergebnis.
bzw. Lustig das alle das begin end innerhalb des Repeats aus dem Beispiel mit kopieren...
PPS.:
Oh - man könnte natürlich auch eine .ToJSON verwenden um im Visualizer die Instance ab zu bilden...