Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Gibt es Debug Erweiterungen für Delphi? (https://www.delphipraxis.net/179634-gibt-es-debug-erweiterungen-fuer-delphi.html)

Stevie 21. Mär 2014 13:59

AW: Gibt es Debug Erweiterungen für Delphi?
 
Zitat:

Zitat von jensw_2000 (Beitrag 1252893)
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.

himitsu 21. Mär 2014 14:12

AW: Gibt es Debug Erweiterungen für Delphi?
 
Zitat:

Zitat von Stevie (Beitrag 1252896)
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.

Uwe Raabe 21. Mär 2014 14:24

AW: Gibt es Debug Erweiterungen für Delphi?
 
Zitat:

Zitat von himitsu (Beitrag 1252899)
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

Stevie 21. Mär 2014 14:59

AW: Gibt es Debug Erweiterungen für Delphi?
 
Zitat:

Zitat von himitsu (Beitrag 1252899)
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz