oCallingForm =_screen.ActiveForm && gives you the reference to the calling form oCallingControl = _screen.ActiveForm.ActiveControl && gives you the reference to the button it was called from.This allows to avod passing any parameters. You can save the object references to the Form2 properties if you want. And I would prefer to save the hierarchy names (SYS(1272)) instead, to avoid the dangling object references. You can always get the object reference again with EVALUATE() function when necessary.