>>>I am pretty much sure that what I am asking is not possible. But I will ask anyway, just in case.
>>>
>>>When I scan (with FOR) though the Stack array (ASTACKINFO), can I get the state of an alias at each point? That is, say, I want to see if an alias cAlias was open or close at each FOR?
>>>
>>>ASTACKINFO(aProgStack)
>>>FOR iEle = 1 TO ALEN( aProgStack, 1 )
>>> ?? select(cAlias) > 0
>>>NEXT
>>>
>>
>>What you're asking for is history. Unless explicitly saved, it isn't available; subsequent calls could close or open a given alias ad infinitum.
>>
>>You could manually log the state of the alias immediately before each subsequent call, or you could wrap your calls in a function which does that logging.
>>
>>One way would be to declare a local variable and set its value immediately prior to your next call:
>>
>>LOCAL llIsAliasOpen
>>llIsAliasOpen = SELECT( cAlias ) > 0
>>
>>MyNextMethodFunctionOrProcedureCall()
>>
Then, in your error handler you can LIST MEMORY. It will show a bunch of llIsAliasOpen memvars, one at each call level, with its value at that level.
>
>Since I don't know which segments of the code will be checked, this will require me to have the above code in million of places. Thanks for the suggestion.
If you've already logged an error and have a call stack, you could start with that.
If you want to cover everything, maybe there's some way to automatically add that code everywhere relevant to create a debug build.
If that's not appetizing maybe you need a debug condition that's more specific.
Regards. Al
"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov
Neither a despot, nor a doormat, be
Every app wants to be a database app when it grows up