Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Check which procedure or routine called Access method
Message
From
03/05/2021 11:59:11
 
 
To
03/05/2021 11:10:44
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01679909
Message ID:
01680112
Views:
35
>>>>>Try PROGRAM() or ASTACKINFO()
>>>
>>>Only SWAG: as I did not measure time needed for duplicate call in program(program(-1)-1) vs. astackinfo() filling array plus array access. I'd guess program(program(-1)-1) to be faster and to show less variation of runtime depending on stack level. When debugging or logging program state in depth: after astackinfo() you can obtain more info with ease as structure has been filled - but if you are after simple "who called me" info mentioned in yourOP to log semi automatically always hooked into your SQL operations I'd opt for function(s) call I guess to fulfill needs more KISS than others, here program(program(-1)-1).
>>>
>>>my 0.02 €
>>>thomas
>>
>>A follow-up question please. So far, my test shows that program(program(-1)-1) will give what I am looking for.
>>Since I write this value to a log file, I want to be sure that it is always a string, not a numeric value. Can you think of a case where program(program(-1)-1) will give a numeric value?
>>Thanks.
>
>According to the online help PRORRAM() returns a string value, except in the case where the optional parameter is -1 where PROGRAM() will return the current program level.
>
>You may find occasions where a more complete "traceback" in an error log list may be useful than simply just a reference to the program in which the error was triggered (as it may provide contextual information -- i.e. "how you got here" information).

First, thank you. I tested the code suggested by Thomas with a parameter -1 and I received a program name (character). I wonder why it worked for me where reading your message and reading VFP help it should have returned the program level as a number. What am I missing?
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform