You mean DE Init, DE has no Load event.
Yes, I also never subclassed DE, using form classes I never used DE myself, only a framework I used.
But there is another thing we did even before the visual data environment class was available: Subclassing the session class.
What we did is creating a form handler, that did create a session class before creating the form in it. All our forms classes had their datasession property set to default data session. So whether the form ran in default or private data session was controlled by first creating a default or private session in the form handler. We called it "session bubble", the form handler may also instantiate several forms in one session and so you had something like a formset with this session as the root object, without the downsides of the formset. The concept worked very dynamically and all session dependant settings like TALK or DELETED where done in the two session base classes.
As said, this is something you can also do in older VFP versions, the session class existed before the visual dataenvironment class, you only don't have a visual canvas and many of the DE properties handling initially selected alias, table opening, etc., but you of course have Init and Destroy.
In the help it's misnamed "Session Object":
Besides some other classes (eg relation) it's not available as visual base class, you can only define it in a PRG via DEFINE CLASS. You need to define two base classes for private and default datasession. You might make use of SET DATASESSION and let a private datasession merge with any other, that's not recommendable, though, as you then have an orphaned datasession and the object maintaining a datasession is living in another. On the other side you can create many default session objects, even if that means it's having the same datasession ID than another session object, that's it's nature and you still may have seperate root session objects for some forms in the same datasession. It can get confusing, but also is helpful to handle several form sets.
Bye, Olaf.