Passing it a datasession won't really work unless you
create a ocx or fll(vfp specific dll) written in C/C++
using the fox API.
Even then, when called, the datasession of the dll will
be the same as the calling process.
Better to create your dll baseclass as a session object
and pass it the table names and values to update.
Matter of fact, you don't even have to use a session object
as the baseclass, the datasession of the dll will be
private automatically, since it initializes its own
environment.
But, you should base it on a session object with a
datasession of 2 if you'll have multiple instances of
the dll running on the same machine. If you don't, moving
the record pointer in one instance will affect the record
pointer in the other instances.
Let the dll handle opening the tables and performing the updates itself.
This all brings up another point. You'll have to set the
environment variables in the dll - such as excl off, cent on, etc.
I'm afraid you'll have to bite the bullet and re-think the design - unless I'm wrong
Darrell