Hacker’s Guide to Visual FoxPro
An irreverent look at how Visual FoxPro really works. Tells you the inside scoop on every command, function, property, event and method of Visual FoxPro.
These properties determine the type of buffering used for tables and views in a form or formset. BufferMode sets a default for the whole form or formset. BufferModeOverride lets you do something different for an individual table or view.
oObject.BufferMode = nBufferMode
nBufferMode = oObject.BufferMode
crsCursor.BufferModeOverride = nBufferOverride
nBufferOverride = crsCursor.BufferModeOverride
These two similar properties use different numbering schemes. Check the lists in Help carefully.
For a form or formset’s BufferMode, you have only three choices: no buffering, optimistic buffering or pessimistic buffering. If you choose either type of buffering, FoxPro automatically uses table buffering for any table in a grid and row buffering for the rest.
If you don’t want the default for a particular cursor, use the cursor’s BufferModeOverride. You get six choices there. One is to use the form default. Another is no buffering. The other four are the possible combinations of optimistic/pessimistic with row/table.
You can change both of these properties at runtime. However, the changes don’t take effect until you call CloseTables and OpenTables. Changing BufferModeOverride triggers a message to that effect.
Buffering, CursorGetProp(), CursorSetProp(), DataSession, Set Multilocks