Newsgroup: it.comp.lang.delphi
Titolo: Nome procedura corrente

Ciao a tutti, necessiterei di una cosa che non so se si può fare :
vorrei con uno showmessage mostrare il nome della procedura attualmente in
esecuzione
esempio
procedure pippo (VarPar1 : string; VarPar2 : Integer);
begin
    FaiQualcosa;
    ShowMessage(NomeProcedura);
    FaiIlResto;
end;
La showmessage dovrebbe dare "pippo".
Qualcuno ha qualche idea?
La MethodAddress , la MethodName, la GetProcAddress non credo possano
aiutarmi...

 ha scritto nel messaggio
news:bbnf3g$gkk$1...@newsreader.mailgate.org...


 Qualcuno ha qualche idea?
Che mi risulti, l'unico sistema è fare un hard-code all'interno del
programma.
Un'alternativa *potrebbero essere* le RTTI, ma credo non sia
cosa da poco.
Andrea

 ha scritto nel messaggio
news:bbnf3g$gkk$1...@newsreader.mailgate.org...


???
Anche a me risulta essere cosi'.
In verita' ho sofferto molto il passaggio dei log da c++ a delphi, in c++
avevo un sistema di logging tramite le macro che riportava, oltre al
timestamp, la riga, la funzione e il nome del sorgente.
Che io sappia, quindi, non ti rimane che cablare (hard-code) nel codice la
stringa relativa alla procedura che vuoi loggare.
una roba tipo:
procedure TfrmRicCli.DBGrid1TitleClick(Column: TColumn);
begin
   dbg.EnterProc('TfrmRicCli.DBGrid1TitleClick');
   // l'oggetto dbg e' una classe che fa il log su file del messaggio
end;
P.S.
In c/c++ mi bastava invocare una macro del tipo:
 printf("***[%s] [%s] [%d]\n",__FILE__,__FUNCTION__,__LINE__)
in Delhi non credo sia possibile.
-- 
Morde. 
morde[at]programmer[.]net

 end;
...
Scarica le jcl 
sourceforge.net/projects/jcl
 (help compreso) e vedi la
sezione Debugging / SourceLocation
uses
  JclDebug;
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(__PROC__(0) + '; ' + __FILE__  +' line ' +
inttostr(__LINE__(0)));
end;
Projects - Options - Linker: MapFile detailed.
Se non sbaglio esiste anche il modo per incorporare il map file in modo
che sia disponibile anche sulla release finale.
Saluti
Paolo Arosio

 ha scritto nel messaggio
news:iokudv83p7mp3gteu...@4ax.com...


 direzione da percorrere?
Le Assertion potrebbero fare al caso tuo? :-|
-- 
Marco «Alka»
  "...that is the mental projection of your digital self" - Morpheus

In effetti ho letto qualcosa... ma ancora devo documentarmi
approfonditamente.... al solito :))  : hai un punto di partenza?
Grazie.


    Via De Gasperi, 14 - 42019
    Scandiano (Reggio Emilia)

(se le "assertion" sono abilitate)
???? Credo di aver capito che è un'opzione di compilazione.. ma non ho ben
capito quale e come funzioni.... ho capito che quando poi compili per
produzione dovresti toglierla ma....
David

 approfonditamente.... al solito :))  : hai un punto di partenza?
Ho l'impressione che il msg che ho mandato ieri non sia stato ricevuto:


Nonono :)) ho letto... e ne ho fatto tesoro. Solo che non essendo un mio
problema.. ma č una richiesta di un terzo e io sto finendo un lavoro urgente
(lunedě vado in ferie), non ho ancora scaricato niente :))
Comunque non ti preoccupare... lo farň solo che il discorso era iniziato...
e mi piaceva continuare la chiacchierata...
Grazie mille Paolo

che sia disponibile anche sulla release finale.
Grazie innanzitutto per le infos, ho trovato tutto molto interessante.
Ma mi chiedo una cosa: questo non potrebbe indebolire la release finale, in
fatto di sicurezza, agevolando il cracking/reverse engineering ?
Oppure non cambia assolutamente nulla?


 engineering ?
Non saprei, non ho mai usato quelle funzioni; credo comunque che siano
da usare solo in fase di test.
Saluti
Paolo Arosio