Page 1 of 1

PostPosted: Sat Apr 27, 2002 7:43 pm
by awschwab
When I compile with PToolbox 7.3.5 a program that works with PToolbox 7.3.3, I get POSE errors (OS 3.5 debug ROM) when FsetText is called:
PocketC (4.3.0rt) called SysFatalAlert with the message: "Field.c, Line:6425, Not scrollable".

A different program also has a problem with FsetText, but it waits until exit, and then gives this message:
Virtual machine error
Stack corruption detected

PostPosted: Sat Apr 27, 2002 9:57 pm
by jstadolnik
There is indeed bug here. I'll fix it tonight. The bug manifest when a REPEAT handler is not set and FsetText is used. I suspect your second program does not use a REPEAT handler and is thus encountering this bug.

However, your first program does indeed appear to thave a REPEAT handler set. Here's why it's failing...

There's new logic under the hood to support scrollbars which is coming into play. What's happening is that by calling FsetText a "field change" event is occuring and the REPEAT handler is getting called. The problem is that your REPEAT handler is returning a non-zero value. Just make sure that the REPEAT handler returns zero if the Id is for a field.

If you want to see how scrollbar support works, install one and have the REPEAT handler return the ID of the scrollbar instead for the field event, and vice versa, when the REPEAT Id is that of the scrollbar, return the desired field ID.


The PToolboxLib guy.

PostPosted: Sun Apr 28, 2002 3:31 am
by awschwab
Making the repeat handler return 0 does fix the problem. I was using the repeat handler just to catch the cursor as it changes fields, in order to read the data in the field, do some calculations and present the result in another window. Now the repeat handler is called each time data are written to a field, so when I read data from a DB into lots of fields, everything is slowed down as it flashes through a reformatted version of each field. If that is what it takes to add scrollbar support, I will go back to trapping the pendown event, rather than using the cleaner repeat handler code for this purpose.

I have not tried it yet, but scrollbar support is definitely worth it.

PostPosted: Sun Apr 28, 2002 3:42 am
by jstadolnik
PToolbox version 7.3.6 is now available... another stealth update.

When you are doing a lot of field updates, just disable the REPEAT handler by setting it to zero, and then restore it when done.

The big features in the upcoming v7.4.0 will be scrollbar support and two new form funtions: FsetMany & FgetMany, which allows users to burst array content to/from whole blocks of fields and buttons.


The PToolboxLib guy.