I'd guess that there is an equal, if not higher chance of a free-floating session object being the culprit, if those are used at all ;-)
>Hi,
>
>I would try this:
>
>
>
>local oForm as Form;
>, iDS;
>, aClasses[1];
>, cClass;
>, cClasses;
>
>activate screen
>iDS = Set("Datasession")
>
>for each oForm in _Screen.Forms foxobject
> set datasession to m.oForm.DataSessionId
> if Set("Hours") = 12 and AClass(m.aClasses, m.oForm) > 0
> cClasses = ''
> for each cClass in m.aClasses
> cClasses = m.cClasses + ', ' + m.cClass
> endfor
> ? m.oForm.Name, Substr(m.cClasses, 3)
> endif
>endfor
>
>set datasession to m.iDS
>
>
>>Just noticed that some of the datasessions have set("hours")=12 even though the app-wide setting should be 24. So it means that some classes and/or forms don't call the code which sets it.
>>
>>Now how can I know which class created each datasession? There's a bunch of session and form classes, and going through them one by one would be rather cumbersome... Is there an easier way to at least display a hierarchy of inheritance in the project, at least for these two base classes? I can write that, but if there's a ready tool out there, I'd gladly save a couple of hours.