>*-- one thought
>Are you using rowsourcetype = 3 - SQL Statement for your listbox on 1st page?
>If so, possibly there is some type of conflict with the name of the cursor created there?
> - have seen this cause unexpected results before
Nope, I'm using a two column array property of the bizobj, which is created in the .init of the bizobject (using a select distinct into array this.xxx), before the listbox instantiates (bizobj is created during form.load).
>*-- another thing you could try
>use a free table dbf in the temp folder on the local workstation instead of a cursor for your grid, then it might not complain about cursor rules?
Did that accidentally at one moment (copied the code to create the table and replaced only the table name, not the Table clause), and it worked for the zap/insert part, but in some other situations, where I replaced a lot of fields in the cursor (from a button's click) I still got the same thing.
Eventually, what works:
- for anything that writes to more than just current record in the grid, use the cursor again, do stuff there, close the second alias. Reindex the original cursor (yup, I have two indexes on it).
- keep destroying and reinstancing the container with the grid. Since the grid doesn't have much in the way of its own code, and it's already built in code, this is cheap. And the column class, header class and grid textbox class are all defined in a single .prg, so this is also fast - no visible lag.
I don't know whether only one of these would be enough; maybe I've tried it, can't really remember. I got it to work, and now I won't touch it anymore. Took too long already :).