Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Name einer Procedur rausbekommen (https://www.delphipraxis.net/83039-name-einer-procedur-rausbekommen.html)

Martin W 25. Dez 2006 21:12


Name einer Procedur rausbekommen
 
Hi;


Delphi-Quellcode:
unit uFormManager;

procedure TFormManager.DoWhatYouWant(Sender: TObject);
var
  a: string;
begin
  cProcName := ????
  a := cProcName;
end;

procedure TFormManager.DoSOmething(Sender: TObject);
var
  a: string;
begin
  cProcName := ????
  a := cProcName;
end;
Ich möchte nun das cProgName folgendem zugewiesen wird

Delphi-Quellcode:
cProcName := <UnitName> + '.' + <FormName> + '.' + <Name der Prozedure>;
IN der Oberen Procedur sollte dann rauskommen:

Delphi-Quellcode:
cProcName = 'uFormManager.TFormManager.DoWhatYouWant';
in der unteren

Delphi-Quellcode:
cProcName = 'uFormManager.TFormManager.DoSOmething';
Wie bekomme ich diese 3 Werte jeweils raus ??? Danke für antworten im Voraus.


Gruß
martin w.

Luckie 25. Dez 2006 21:18

Re: Name einer Procedur rausbekommen
 
Gar nicht. Im kompilierten Code sind die Prozedurnamen nur noch Sprungadressen im Speicher. Die Namen interessieren die CPU nicht.

Martin W 25. Dez 2006 21:21

Re: Name einer Procedur rausbekommen
 
Anders gesagt, ich bekomm es auch nicht so hin, das der Compiler mir nen String erstellt, wo der Methodenname steht ?

Christian Seehase 25. Dez 2006 21:35

Re: Name einer Procedur rausbekommen
 
Moin Martin,

probier's mal hiermit [google]site:delphipraxis.net rtti[/google]

Martin W 25. Dez 2006 22:26

Re: Name einer Procedur rausbekommen
 
Danke euch!!!

Bernhard Geyer 26. Dez 2006 09:46

Re: Name einer Procedur rausbekommen
 
Es geht schon. Jedoch mußt du bei Delphi(.Win32) genügend Debug-Infos mit deiner Exe mitliefern (z.B. TD32). Dann kannst du z.B. mit den Debug-Funktionen der Jedi z.B. sogar den ganzen Aufrufstack herausbekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 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