Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eigenen Funktionsnamen ermitteln (https://www.delphipraxis.net/42765-eigenen-funktionsnamen-ermitteln.html)

SubData 23. Mär 2005 15:30


Eigenen Funktionsnamen ermitteln
 
Gibt es eine Möglichkeit in einer Funktion den eigenen Funktionsnamen zu ermitteln?

Mein Problem ist folgendes: Ich habe ein etwas größere Unit (An die 5000 Codezeilen) und ich will ermitteln wann wie oft eine Funktion aufgerufen wird und da ich absolut keine Lust hab jede Funktion umzustricken hab ich mich gefragt ob ich nich einfach in jede Funktion nen Einzeiler (nagut 2 gehen auch -g-) reinkopieren kann der ne neue Funktion aufruft und den eigenen Funktionsnamen übergibt und am Besten noch die Parameter, die an diese Funktion übergeben wurden.

Hat da irgendjemand ne Idee? :)

Matze 23. Mär 2005 15:38

Re: Eigenen Funktionsnamen ermitteln
 
Zitat:

Zitat von SubData
[...] ob ich nich einfach in jede Funktion nen Einzeiler (nagut 2 gehen auch -g-) reinkopieren kann [...]

Du könntest du eine Variable immer um einen Wert erhöhen, oder ginge das nicht. Das wäre ein Einzeiler. ;)

Airblader 23. Mär 2005 15:49

Re: Eigenen Funktionsnamen ermitteln
 
Zitat:

Zitat von Matze
Zitat:

Zitat von SubData
[...] ob ich nich einfach in jede Funktion nen Einzeiler (nagut 2 gehen auch -g-) reinkopieren kann [...]

Du könntest du eine Variable immer um einen Wert erhöhen, oder ginge das nicht. Das wäre ein Einzeiler. ;)

Und bei ein paar hudnert Funktionen braucht man dann ein paar hundert Variablen :D

edit:
oder ein array, aber dann müsste man auch immer den index ändern

SubData 23. Mär 2005 15:52

Re: Eigenen Funktionsnamen ermitteln
 
Naja dann weiß ich aber nicht welche Funktion aufgerufen wird :/
bzw. müsste ich dann ja jeden Einzeiler in jeder Funktion noch bearbeiten (Also anders schreiben, da er ja ne andere Variable erhöhen muss) .. Das ist dann schon wieder ein wenig viel arbeit -g-

himitsu 23. Mär 2005 16:18

Re: Eigenen Funktionsnamen ermitteln
 
Zitat:

Gibt es eine Möglichkeit in einer Funktion den eigenen Funktionsnamen zu ermitteln?
Nein? (normaler Weise)

Das ist doch auch so, wie bei den Variablen ... innerhalb des compilierten Programms existieren diese Namen doch nicht mehr :?

SubData 23. Mär 2005 16:26

Re: Eigenen Funktionsnamen ermitteln
 
Hätte ja sein können, dass man genau das 'abfangen' kann bzw. die irgendwo gespeichert werden können...

himitsu 23. Mär 2005 16:33

Re: Eigenen Funktionsnamen ermitteln
 
Du könntest dir ja die Position (die Pointer) der einzelnen Prozeduren/Funktionen zurückgeben lassen (allerdings können die sich ja, mit der Zeit verändern ... also wenn du irgendwas Quelltext... änderst.)

Oder du gibst halt jedesmal den Funktionsnamen als String mit, aber diesen mußt du dann wohl selber überall hinschreiben.
Na ja, du könntest dur ja auch ein Programm schreiben, welches dir eben erwähnte Arbeit abnimmt :mrgreen:

SubData 23. Mär 2005 16:40

Re: Eigenen Funktionsnamen ermitteln
 
Nich so ganz das was ich eigentlich wollte :mrgreen:
Mal schauen, werds dann wohl doch anders lösen müssen :>

shmia 23. Mär 2005 16:52

Re: Eigenen Funktionsnamen ermitteln
 
Zitat:

Zitat von SubData
Gibt es eine Möglichkeit in einer Funktion den eigenen Funktionsnamen zu ermitteln?

Mein Problem ist folgendes: Ich habe ein etwas größere Unit (An die 5000 Codezeilen) und ich will ermitteln wann wie oft eine Funktion aufgerufen wird

Das nennt man doch Profiling (ermitteln, wie oft Funktionen aufgerufen wurden und wie lange das dauert).
Da gäbe es z.B. ProDelphi:
http://codecentral.borland.com/codec...sting?id=18254

SubData 23. Mär 2005 17:15

Re: Eigenen Funktionsnamen ermitteln
 
Hey klingt gut das werd ich mir mal ansehen :)

Danke schön ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.

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