What is wrong with this Script logic?

Peter M. Brigham pmbrig at gmail.com
Fri Jan 11 08:48:18 EST 2013


I tried this:

on closefield
   put "closefield" && the seconds & cr after message
   hCheckEntry me
end closefield

on exitfield
   put "exitfield" && the seconds & cr after message
end exitfield

on enterinfield
   select empty
end enterinfield

on hCheckEntry pData
   if pData is an integer then exit hCheckEntry
   answer "Please enter only whole numbers!" as sheet
   if the result = "cancel" then exit to top
   select text of me
end hCheckEntry

It looks as if "select text of me" sets the field up to throw a closefield message even if the text of the field is not changed. It should throw an exitfield message. I've never seen this before. It is anomalous, to say the least. 2008 MacBook, OSX 10.7.4 (Lion), Rev Studio 4.5.3, build 1210.

-- Peter

Peter M. Brigham
pmbrig at gmail.com
http://home.comcast.net/~pmbrig

On Jan 11, 2013, at 12:39 AM, J. Landman Gay wrote:

> It isn't really hung, you can command-period to abort the infinite loop. But still. Hm.
> 
> It locks up for me too, and it didn't used to. Not only that, but if I abort the script I still get a final dialog, and if I hit Cancel in that one, I get the same odd results you do -- part of the script goes into the ask field, which then displays "ask warning". How weird.
> 
> The reason you aren't getting a recursion error is because it isn't really recursion (the handler doesn't call itself.) It's just a loop. Only the ask dialog should be modal and stop the loop until you dismiss it, then evaluate the entry and loop again or exit. That's not happening. It looks like the script keeps running even with the dialog up, the loop backs up with multiple calls to the ask dialog, and everything hangs.
> 
> Something's wrong. I think it's the dialog.
> 
> On 1/10/13 11:08 PM, Kay C Lan wrote:
>> Jacque,
>> 
>> Actuallly this doesn't work for me either. LC locks up, my CPUs go to
>> 100% and I don't even get a recursion message or anything. I have to
>> Force Quit LC.
>> 
>> Any further suggestions?
>> 
>> 
>> On Fri, Jan 11, 2013 at 11:43 AM, J. Landman Gay
>> <jacque at hyperactivesw.com> wrote:
>>> on hCheckEntry pData
>>>   repeat until pData is an integer
>>> 
>>>     ask warning "Please enter only whole numbers!" with pData \
>>>        titled "Enter A Number"
>>>     if the result = "cancel" then exit to top
>>>     put it into pData
>>>   end repeat
>>>   put pData into me
>>> end hCheckEntry
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
> 
> 
> -- 
> Jacqueline Landman Gay         |     jacque at hyperactivesw.com
> HyperActive Software           |     http://www.hyperactivesw.com
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list