do AddressForm with thisform <b>AddressForm.Init():</b> lparameter roLaunchingForm this.moParentForm = roLaunchingForm this.moParentForm.LinkChild( thisform ) && allow parentform to get a link to the child form <b>In the AddressForm.Destroy:</b> this.moParentForm = .null. <b>When the address record changes:</b> this.moParentForm.AddressChanged( thisform ) <b>The parent form.AddressChanged():</b> lparameter roChangingForm for each oChild in this.maChildForms if ( roChangingForm.Name != oChild.Name ) oChild.AddressChanged() endif endfor <b>parent form.LinkChild</b> lparameter roChildForm this.mnChildForms = this.mnChildForms + 1 dimension this.maChildForms[this.mnChildForms] this.maChildForms[this.mnChildForms] = roChildForm <b>parent form.Release</b> for i = 1 to this.mnChildForms this.maChildForms[i] = .null. endforIf you always launch all of the forms and they are the only ones running you could iterate through the _screen.Forms[] collection. But the above stuff gives you an idea of how to use object references back and forth between different objects.