loPar=CREATEOBJECT("Empty") ADDPROPERTY(loPar,"lLoginResult",.F.) ADDPROPERTY(loPar,"Second",5) ********************************** * from parts ********************************** * form::Init() LPARAM loPar This.AddProperty("oPar",loPar) * form.cmdOK::Click() IF .T. Thisform.oPar.lLoginResult=.T. ENDIF * form::Destroy() CLEAR EVENTS ************************************ DO FORM frmLogin WITH loPar && frmLogin is As top level form READ EVENTS IF loPar.lLoginResult DO FORM frmMain ELSE MESSAGEBOX( "Login Failed." ) ENDIFDennis