>My form classes are based off a parent
>form with datasession set to 2. In the
>LOAD event, I call oProcs.SetCommands()
Since this object was created in the default (or another) datasession, it's methods act on that datasession. So in your case, you are correct, you have to set the datasession to the calling object's datasession.
But if you had created the object in the form's init, you would not have to do this. The same goes for procedures and UDFs. They are not 'objects' that live in memory, so they are not instanciated when you SET PROC TO. Even if you SET PROC in the default datasession, when you call the UDF from the form, it will 'live in' and act on the form's DE.
Erik Moore
Clientelligence