Thanks Rick, that's really cool.
**--** Steve
>
>An approach I developed to insulate strings (and MsgSvc) is to do the following:
>
>DEFINE CLASS INTLDataSession AS Form
>DataSession = 2
>
>PROC Init()
> SET PROC TO ADDPROP5.FLL ADDITIVE
> this.AddObject("oINTL","INTL")
> AddProp(_SCREEN,"oINTL")
> _SCREEN.oINTL = this.oINTL
>ENDPROC
>
>PROC Destroy()
> _SCREEN.oINTL = .NULL.
>ENDPROC
>ENDDEFINE
>
>Objects run in the datasession they are instantiated in. Therefore I create a private datasession within a form, add the INTL object to it: it is now in its own private datasession. I use AddProp to create a property on _SCREEN.oINTL and then point it at the INTL object on the form: INTL behaves as normal because it is still accessed as _SCREEN.oINTL.