Debugger fixes bug - expert advise needed!
David Bovill
david at openpartnership.net
Sun May 20 08:25:21 EDT 2007
No - I am not trying to be cryptic - but this one is driving me nuts. The
problem I have is in a script that creates complex nested objects using
"copy something to group destination". The script first copied a template
group and then fills in the subgroups depending on the result wanted. All
works fine except sometimes :( And sometimes the group that has been
created, renamed and then positioned - well the controls within it do no
"exist()"!
I have come across this before, and the reason I am finding it so hard to
fix is that if I put a breakpoint before the offending line in order to
debug it - well it starts to work fine - the lines are as follows:
put the object_FromReferencePath
["view_Object/right_View/header_View"] of topView -- mistakenly results
in empty
breakpoint
put the object_FromReferencePath
["view_Object/right_View/header_View"] of topView -- is now completely
fine
The script that does the work is simple:
getprop object_FromReferencePath [objectRefPath]
put the long id of the target into someObject
set the itemdelimiter to "/"
repeat for each item objectRef in objectRefPath
if exists(someObject) is false then return empty
put the objectRef of someObject into someObject
end repeat
return someObject
end object_FromReferencePath
So what could the debugger be doing to "fix" this? Is it to do with the way
the debugger evaluates a script line? I have spent 4 hours on this and well
frankly it is impossible to debug :)
I am trying to replicate it with a clean stack to file as a bug report, but
no joy yet... it seems only to cause a problem at a certain level of
nesting or object creation. Clues anyone?
More information about the use-livecode
mailing list