On 12/30/2014 12:20 PM, Dr. Hawkins wrote:
I am having problems with script scope variables (declared local before any
handler) becoming unset, apparently within individual lines of handlers.

For example, the code
on shwChcStk
    ck "chstk: _" & chStk  & "_; " & cr & chStk is empty
    if chStk is empty then
       --debug only; this happens in the debugger.
       answer "chStk empty"
       breakpoint
       initCtr
    end if
    if the chcStk of me then
       lock messages --chStk becomes unset during openstack!
       palette chStk
       unlock messages
       set the width of chStk to the width of chFld

where ck is a logger:

on ck stuff
    --   answer stuff
    --   breakpoint
    put stuff
    put stuff & cr after fld "log" of stack "ckwatch"
end ck

First it oddly produces simply "false" as the output, rather than

_chStk_
false

If I comment out from &cr on it produces the first part.

In any event, it can get to "if chStk" is empty with a value for chStk,
open that stack as a pallete, and then have nothing in chStk or chFld  two
lines later.

But this isn't entirely predictable, either--if I remove the lock messages
around the palette command, ckStk gets emptied every time, even though
there is nothing in the  preOpenStack/OpenStack  handlers executes other
than  logging of the milliseconds to a global,  checks for whether it is
the main stack, and an exit.

The semicolon has a special meaning and signifies the end of a script statement when used in certain conditions. It looks like the engine is trying to execute your literal. Try changing the semicolon to a different character.


And the weirdness continues.

In another section

   ck the selectedChunk

produced
     word 5 to 4 of field 11

the next line,

    put the selectedChunk into pos

put something like
    char 10000 to 100007 of field 1

Is the put statement into the message box or another field (of a closed
stack) changing the selectedChunk ???

The ck handler changes the field focus twice, once to the message box and again to a logging field. The original selection is lost.

--
Jacqueline Landman Gay         |     [email protected]
HyperActive Software           |     http://www.hyperactivesw.com

_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to