CLEAR ? SET('TALK') oEnvirn = CREATEOBJECT('EnvirnomentSets') ? SET('TALK') oEnvirn.RestoreEnvironment ? SET('TALK') oEnvirn.SetEnvironment ? SET('TALK') oEnvirn = NULL ? SET('TALK') DEFINE CLASS EnvirnomentSets AS CUSTOM cTalkSetting = "" PROCEDURE Init WITH This .cTalkSetting = SET('TALK') .SetEnvironment ENDWITH ENDPROC PROCEDURE SetEnvironment SET TALK ON RETURN ENDPROC PROCEDURE RestoreEnvironment LOCAL lcsetting lcsetting = This.cTalkSetting SET TALK &lcsetting RETURN ENDPROC PROCEDURE Destroy This.RestoreEnvironment RETURN ENDPROC ENDDEFINENow, in real-life, you'd probably change the talk setting to OFF. In my development environment, however, it's OFF so that's why I set it ON.