Strange debugger behavior
    depstein at att.net 
    depstein at att.net
       
    Sat Dec 20 21:08:43 EST 2003
    
    
  
Some weeks ago on the list, Klaus Major kindly answered my question of how to tell if Metacard 
or Revolution was running by proposing the following handler:
function mcOrRev -- from Klaus Major
  try
    get revappversion() ## ;-)
    return "rr"
  catch errornum
    return "mc"
  end try
end mcOrRev
The handler works as intended, and I included it in a utility stack I use frequently.  When 
mcOrRev() gets called by a button in that stack, there is no problem.  But when this utility stack 
is open in Metacard -- but is not the topStack and is not in use -- I fairly often get inexplicable 
error messages that finger "revappversion" as the culprit.
When script execution is interrupted, the Metacard Execution Error dialog says it is "Processing 
token:  revappversion."  That dialog lists as "Object:" the object whose script was executing.  But 
that script neither contained the word "revAppVersion" nor called the mcOrRev handler.  My 
utility stack is the only place I have ever used "revAppVersion", and it was not in the message 
path.  (When my utility stack is not open at all, the problem does not arise).
When I click on "Script" in the Execution Error dialog, I am taken to a completely irrelevant script 
location.  When I repeat the same command that caused this erroneous error message, I tend to 
get the correct error message and script location.
It is as if the MC debugger has a traumatic memory of trying to evaluate revAppVersion, and 
keeps reporting that whenever there is a new problem.
Do these symptoms ring a bell with anyone else?  Does the "try" structure not completely 
insulate Metacard from experiencing problems from unknown functions? 
David Epstein
    
    
More information about the metacard
mailing list