Forum: Die Delphi-IDE
by stahli,
25. Feb 2021
Hier ein Beispiel für Überwachungsformulare: https://www.delphipraxis.net/206854-grundsatzfrage-debuggen-mit-aktiven-threads.html
Forum: Die Delphi-IDE
by stahli,
4. Aug 2016
Stevie, Du hast einen Kaffee oder Milch bei mir gut! :stupid:
Also falls es mal jemand braucht:
Normalerweise sieht man beim Debuggen nur den Typ und die Speicheradresse von Objekten und Interfaces.
Man kann sich natürlich auch deren Eigenschaften anzeigen lassen, muss das aber jedes mal explizit angeben.
Durch Einrichtung eines DebugVisualizers kann man die Standardausgabe ändern.
So...
Forum: Die Delphi-IDE
by stahli,
3. Aug 2016
Ich komme so leider auch nicht weiter.
Den Formularvisualizer möchte ich nicht nutzen. Nur den StringReplacer.
Über OTA ermittle ich den aktuellen Thread.
Über CurThread.Evaluate(Expression...) wird der Ausgabetext ermittelt.
Das ergibt aber den ungewollten "TsoGuid($2FB1204) as IsoGuid".
Im folgenden Code wird der Text erfolgreich abgerufen, nur, dass ich den eben nicht ändern kann:...
Forum: Die Delphi-IDE
by stahli,
2. Aug 2016
Da habe ich (mit wenig Zeit) natürlich versucht, aber mir fällt das etwas schwerer als Dir und die mitgelieferten Beispiele hatte ich nicht gefunden.
Ich bin jetzt aber etwas weiter.
Aus dem String "TsoGuid($2F21204) as IsoGuid" extrahiere ich zunächst den Pointer um dort das Interface abzuholen.
Ich weiß nicht, ob der Pointer auf das Objekt oder das Interface verweist. Beide versuchten...
Forum: Die Delphi-IDE
by stahli,
2. Aug 2016
Danke für die Info.
Ich habe mir das gestern mal angesehen.
Aber irgendwie ist Erstellung eigener Visualizer nur halb erklärt.
http://docwiki.embarcadero.com/RADStudio/Berlin/de/Debugger-Visualisierungen
http://edn.embarcadero.com/article/40268
Einige vollständigere Beispiele gibt es im Netz jedoch. Z.B. hier:
http://www.petronet.ir/documents/10180/2323248/Delphi_2010_Handbook
Forum: Die Delphi-IDE
by stahli,
30. Jul 2016
Ich nutze folgendes Interface:
IsoGuid = interface
...
property TS1: TDateTime read _get_TS1 write _set_TS1;
property TS2: TDateTime read _get_TS2 write _set_TS2;
property C: LongWord read _get_C write _set_C;
property AsString: String read get_AsString write set_AsString;
end;