>* Comparing dataSession ID viewed by an object added to a form either by .AddObject or .AddProperty() > >local o >o = CreateObject('formParent') >o.Show(1) > >define class formParent as Form > add object cmdAddObject as cmdAddObject > add object cmdAddProperty as cmdAddProperty > add object lblDataSession as label with top = 50, autosize =.T. > datasession = 2 && private > autocenter = .T. > procedure init > this.AddObject('custAddObject', 'cust') && instance # 1 added by .addObject() > this.addProperty('custAddProperty', CreateObject('cust')) && instance # 1 'added' by .addProperty > this.lblDataSession.Caption = Textmerge([Datasession ID of form '<<thisForm.Name>>': <<Set("Datasession")>>]) >enddefine > >define class cust as Custom && object added to the form either by .AddObject or .AddProperty() > procedure dataSessionGet > MessageBox(Textmerge([Datasession ID viewed by '<<this.Name>>': <<Set("Datasession")>>])) >enddefine > >define class cmdAddObject as CommandButton > caption = 'cmdAddObject' > autosize = .T. > procedure click > local o > o = CreateObject('formChild', thisForm.custAddObject) > o.show(1) >enddefine > >define class cmdAddProperty as CommandButton > caption = 'cmdAddProperty' > autosize = .T. > left = 100 > procedure click > local o > o = CreateObject('formChild', thisForm.custAddProperty) > o.show(1) >enddefine > >define class formChild as Form > datasession = 2 && private > autocenter = .T. > add object cmdDataSessionGet as cmdDataSessionGet > add object lblDataSession as label with top = 50, autosize =.T. > procedure Init(oCust) > this.addProperty('oCust', m.oCust) > this.cmdDataSessionGet.Caption = this.cmdDataSessionGet.Caption + ' / ' + m.oCust.Name > this.lblDataSession.Caption = Textmerge([Datasession ID of form '<<thisForm.Name>>': <<Set("Datasession")>>]) >enddefine > >define class cmdDataSessionGet as CommandButton > caption = 'cmdDataSessionGet' > autosize = .T. > procedure click > thisForm.oCust.dataSessionGet >enddefine >>