Don first thing that you need to check is if the table/cursor is in table bufferring mode try doing the following put a button in the form and on the click event do a set step on in the vfp the select the data session where the table/cursor is located on the command window do wait window TRAN(cursorgetprop('buffering', tablealias)) the value show must be 5 of 4 as optimistic or pessimistic table burrering.
>I have started a new form using my base form class which I have used for over 50 forms.
>
>The Base form class uses data buffering. It contains a "Changed" method which is called from the valid event of the textbox. It compares this.ActiveControl.Value against oldval(this.ActiveControl.DataSource) to see if there was a change. If there was a revert toolbar button is enabled.
>
>This works on the other, older forms - not the new one.
>
>oldval(this.ActiveControl.DataSource) returns the NewValue as if the change were already committed.
>
>BaseForm BufferMode is optimistic. I have tried BufferModeOverRide for the cursor of 1,3 & 5. All fail to catch the change.
>
>MultiLocks is set on.
>
>I have checked all these settings from the Valid Event of the textbox before Changed().
>
>I have run into this before and cannot for the life of me remember what the problem is. What am I missing?
Alexandre Palma
Senior Application Architect