Example 1 public myformB do form myformB myformB.name = 'A New Name for Form B' myformB.CommandButton.click() . . myformB.release() release myformB Example 2 public oMyformB do form myformB name oMyformB oMyformB.name = 'A New Name for Form B' oMyformB.oCommandButton.click() . . oMyformB.release() release oMyformB Example 3 public oMyformB do form myformB name oMyformB linked oMyformB.name = 'A New Name for Form B' oMyformB.oCommandButton.click() . . oMyformB.release() The first example let VFP, by default, make the previously declared public variable, myformB, into a object memory variable. You, however, have to explicitly release the variable when you are done with it so it will not hang around. In the second example, you explicitly make the previous declared public variable, oMyformB, into a object variable by using the NAME option of the DO FORM command. As with the first example, you have to release this variable yourself after the form is released. In the third example, the LINKED option links the object variable, oMyformB, with the form, myformB, so that when either one is released, the other is released also. I think the third example is the preferred method of invoking forms.Paul