AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Gibt es Debug Erweiterungen für Delphi?
Thema durchsuchen
Ansicht
Themen-Optionen

Gibt es Debug Erweiterungen für Delphi?

Ein Thema von jaenicke · begonnen am 21. Mär 2014 · letzter Beitrag vom 21. Mär 2014
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.012 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#11

AW: Gibt es Debug Erweiterungen für Delphi?

  Alt 21. Mär 2014, 13:59
Es gibt doch ein paar AOP Frameworks für Delphi.

Habe es noch nicht selbst getestet, aber sowas sollte mit aspektorientierter Programmierung durchaus möglich sein.
Man kann sich einen Logging Aspekt schreiben, der z.B. auf Feldänderungen reagiert und diesen Aspekt dann per Attribut zu einer zu überwachenden Klasse hinzufügen. Das wäre dann auch sehr universell nutzbar.
Das wär mitm Panzer auf Hasenjagd gehen. Außerdem lassen die AOP Frameworks sich meist nur auf virtuelle Methoden anwenden. Was darüber hinaus geht wäre Manipulation am Bytecode. Ja, es soll Leute geben, die sowas praktizieren, aber das wäre hier eher weniger zielführend.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#12

AW: Gibt es Debug Erweiterungen für Delphi?

  Alt 21. Mär 2014, 14:12
Außerdem lassen die AOP Frameworks sich meist nur auf virtuelle Methoden anwenden.
Dafür hat Delphi ja neuerdings auch irgendwo eine Klasse für (vergess nur ständig wo),
wo man virtuelle Methoden hooken kann. (Methoden und somit auch Setter/Getter)

Wenn man da eine Objektinstanz hookt, dann wird eine dynamisch Kopie des Klassen-Typs erstellt, darin werden dann in der VMT die virtuellen Methoden über generische Aufrufe umgeleitet/ausgetauscht und dann schreibt diese Ding den Typzeiger im Objekt auf die Kopie um, womit dann über die neue VMT gegangen wird.
Man könnte uch den Schreibschutz vom Originltype (kurzzeitig) aufheben und die VMT direkt da ändern, womit man dann alle Instanzen dieses Typs trifft, sowie alle zukünftigen Instanzen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.025 Beiträge
 
Delphi 12 Athens
 
#13

AW: Gibt es Debug Erweiterungen für Delphi?

  Alt 21. Mär 2014, 14:24
Dafür hat Delphi ja neuerdings auch irgendwo eine Klasse für (vergess nur ständig wo),
wo man virtuelle Methoden hooken kann. (Methoden und somit auch Setter/Getter)

TVirtualMethodInterceptor
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.012 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#14

AW: Gibt es Debug Erweiterungen für Delphi?

  Alt 21. Mär 2014, 14:59
Man könnte uch den Schreibschutz vom Originltype (kurzzeitig) aufheben und die VMT direkt da ändern, womit man dann alle Instanzen dieses Typs trifft, sowie alle zukünftigen Instanzen.
Been there, done that. Aber wir kommen vom Thema ab.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz