Erik,
>Data Source is the MS name for a named ODBC source...
I know that. I didn't think it meant "the source of this component is JVP" :-)
The fact that the data source was named "JVP" indicates his possible involvement in the project -- certainly in the testing of it.
>Sure, but more importantly, it would give the external dll the ability to SCAN the table, and retrieve the values. Opening a cursor and setting the buffermode to recordbuffering and calling the CursorToRS function gives some evidence to this point. Changing a value in the current record of the function and then calling CursorToRS causes the value to be written to the base table, which means the record pointer is being moved within the context of of VFP's workspace. The fll interface into VFP's API gives external routines a wealth of functionality and access into the VFP environment.
I took a quick look at the sparse docs for some of the API routines, and found something interesting about workarea in most of the _DBWhatever routines. For example:
********
_DBRead( ) API Library RoutineMoves the current record pointer to the specified record in the specified work area.
int _DBRead(int workarea, long record)
int workarea; /* Work area. */
long record; /* Record number. */
*********
If you look at the samples, you will see in the C code the use of "-1" for workarea. Perhaps this means default workarea in default datasession? Just a thought.