Avatar billede r9 Nybegynder
24. februar 2003 - 15:24 Der er 11 kommentarer og
1 løsning

Metodenavn

Med MinKlasse.ClassName kan man jo få klassenavnet som en string.

Men hvordan får man metodenavnet som en string?
Avatar billede borrisholt Novice
24. februar 2003 - 15:28 #1
Det kræver
1)
  At den er published
2)
  At du har adressen på den

Jens B
Avatar billede r9 Nybegynder
24. februar 2003 - 15:59 #2
ok.

Eksempel?
Avatar billede borrisholt Novice
24. februar 2003 - 16:21 #3
Noget alla det her :

  published
    procedure Hest;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  Address : TMethod;
begin
  Address.Code := MethodAddress('Hest');
  Address.Data := Self;

  Caption := MethodName(Address.Code);
end;

procedure TForm1.Hest;
begin
//
end;

end.
Avatar billede borrisholt Novice
24. februar 2003 - 16:23 #4
Her har du et noget bedere eksempel :

www.borrisholt.com/eksperten/XMLMainMenu.zip

Jens B
Avatar billede r9 Nybegynder
24. februar 2003 - 17:45 #5
tak for hjælpen.

Ved du forresten om det er muligt at få oplyst linjenummer i en unit på runtime?

Feks. i  hvad linje en exceptions skete?
Avatar billede borrisholt Novice
25. februar 2003 - 08:20 #6
ja selvfølgelig er det det ... Men det er ikke noget man lige gør. Det vil typisk være et produkt man udviklede for penge. Og det  er formentlig ikke det du fisker efter.

Så svaret er nok nej.

Jens B
Avatar billede tille Nybegynder
25. februar 2003 - 08:32 #7
borrisholt/r9: Er det ikke en debugger bruges til. ?(vise hvor en fejl sker)

hvad version af Delphi benytter i siden i ikke har en debugger.
Avatar billede r9 Nybegynder
25. februar 2003 - 08:36 #8
tille:

Delphi7, og ja debuggeren viser alt.


borrisholt:
takker
Avatar billede borrisholt Novice
25. februar 2003 - 08:38 #9
Jo jo .. Så længe du kører programmet gennem debuggeren, så er det ikke så svært ... Det var mere den der med jeg laver en exe fil her hos mig. Sender den til en som INGEN Delphi har el. Også grave linje nummeret, ved en exception, frem det er svært !

Jens B
Avatar billede tille Nybegynder
25. februar 2003 - 09:22 #10
nu skal jeg ikke lege delphi ekspert, men for de fleste sprog jeg kender, er det at medtage linienumre i exefile, et spørgsmål om compiler options. (og tab af performance hvis linienumrene medtages)
Avatar billede borrisholt Novice
25. februar 2003 - 09:58 #11
tille >> Der tager du fejl. I VC++ skal du compilere med Debug information, i Delphi skal du klikke TD32 Debug på, SAMT debug information.

Jens B
Avatar billede tille Nybegynder
25. februar 2003 - 10:07 #12
ja der syntes jeg nu ikke jeg tog fejl :-), det var netop det jeg mente med compiler options, men vi er vel sådan set enige så.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester