Delphi-PRAXiS
Seite 4 von 7   « Erste     234 56     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Start und Stop jeder Methode Tracen an nur einer stelle Implementieren (https://www.delphipraxis.net/166648-start-und-stop-jeder-methode-tracen-nur-einer-stelle-implementieren.html)

himitsu 24. Feb 2012 12:52

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
Und das ginge dann wohl auch nur für virtuelle Methoden und nicht für "alle" Methoden/Prozeduren.

Aufrufe der WinAPI und anderer DLL-Funktionen könnte man auch leicht umbiegen, aber Methoden/Prozeduren, welche direkt angesprungen werden, sind da schon schwerer, da es dort keine "zentrale" Stelle für die Eintrittsadresse gibt, außer man überschreibt den Methoden-Code und quetsch so seinen Log-Methodenaufruf dazwischen.

Stevie 24. Feb 2012 13:35

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
Zitat:

Zitat von Daniel (Beitrag 1152680)
Zitat:

Zitat von neo4a (Beitrag 1152671)
Ich würde einmal vermuten, er möchte eine Lösung z.B. basierend auf TVirtualMethodInterceptor - er weiß es nur nicht.

Ich wage es, dies in Zweifel zu ziehen. An den TVirtualMethodInterceptor hatte ich zwar auch geacht, dieser ist jedoch Teil der neuen RTTI und damit nicht in Delphi 2006 verfügbar.

Das stimmt so nicht ganz. Die TVirtualMethodInterceptor Klasse an sich ist zwar Teil der neuen RTTI, aber die Technik dahinter war schon in Delphi 7 oder eher möglich (siehe auch diesen und andere Artikel) - diese wurde vor allem für SOAP benutzt (siehe z.B. Rio.pas)

neo4a 24. Feb 2012 16:36

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
Zitat:

Zitat von Stevie (Beitrag 1152695)
Zitat:

Zitat von Daniel (Beitrag 1152680)
Zitat:

Zitat von neo4a (Beitrag 1152671)
TVirtualMethodInterceptor - er weiß es nur nicht.

und damit nicht in Delphi 2006 verfügbar.

schon in Delphi 7 oder eher möglich

Der TE gibt D5 als Zielplattform an, wobei ich gerade Schwierigkeiten habe mich zu erinnern, was eher auf den Markt war: D5 oder Farb-TV ;)

Da auch eine Info fehlt, wie viele Prozeduren überhaupt gemonitort oder getracet (S..-Denglisch) werden sollen, würde ich unserem Eid-Delphi-Genossen etwas Stärkung und den gezeigten Weg mit dem Interface-Einzeiler empfehlen, denn das funktioniert sicher und hat wenig Nebenwirkungen. Macht halt Arbeit, aber irgendetwas ist eben immer.

himitsu 24. Feb 2012 19:29

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
Oder der TE hat vergessen es anzugeben. D5 ist die Standardeinstellung.
http://www.delphipraxis.net/issue-344/

Zitat:

Zitat von neo4a (Beitrag 1152717)
Da auch eine Info fehlt, wie viele Prozeduren überhaupt gemonitort oder getracet (S..-Denglisch) werden sollen,

Zitat:

Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
Für mich klingt das wie "Alle".

himitsu 24. Feb 2012 19:31

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
*doppelpost*

neo4a 24. Feb 2012 19:41

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
Zitat:

Zitat von himitsu (Beitrag 1152736)
Zitat:

Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
Für mich klingt das wie "Alle".

Ja, stimmt genau: alle 3! Da lohnt sich jeder Aufwand ;)

gibb 27. Feb 2012 12:45

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
haha witzbold ;)

ich würde nicht nach einer solchen Lösung fragen wenn ich nur 3 methoden hätte...

ich werde mir dann halt die anderen wege genauer anschauen und versuchen den flexibelsten weg zu nehmen.

danke jedenfalls,

gruss Gibb

EDIT: nach dem wieder überfliegen stelle ich fest das es nur der PreCompiler für mich nen gangbaren weg währe. Aber ich habe jetzt dazu ne frage... Soll ich mir etwa hierzu ein Programm schreiben das die Pas file anpasst und anschliessend Compiliert und wieder die änderungen rückgängig macht?

Oder wie macht man das normalerweise?

Namenloser 27. Feb 2012 12:56

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
Hatte jbg nicht mal einen Precompiler für Generics (bevor es sie von Haus aus gab)? Finde ich leider nicht mehr... aber du könntest mal danach suchen oder ihn fragen.

neo4a 27. Feb 2012 13:54

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
Zitat:

Zitat von gibb (Beitrag 1153129)
ich würde nicht nach einer solchen Lösung fragen wenn ich nur 3 methoden hätte...

"Patienten lügen!" (Dr. House)

Stevie 27. Feb 2012 14:42

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
 
Zitat:

Zitat von neo4a (Beitrag 1152717)
Der TE gibt D5 als Zielplattform an, wobei ich gerade Schwierigkeiten habe mich zu erinnern, was eher auf den Markt war: D5 oder Farb-TV ;)

Nicht nur ersten Post lesen, Andreas ;)

Zitat:

Zitat von gibb (Beitrag 1152469)
Delphi 2006 sorry das habe ich vergessen zu schreiben.



Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.
Seite 4 von 7   « Erste     234 56     Letzte »    

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