x = createobject('test') with x x.RunMain() endwith x = null define class test as session function RunMain() .HelloWorld() && not enclosed inside WITH/ENDWITH .Foo() && but works!!! endfunc function HelloWorld() ? "Hello World" endfunc procedure Foo ? "FOO!!!" endproc procedure destroy .Foo() && not enclosed inside WITH/ENDWITH && but does not work!!! endproc enddefine