ox=CreateObject("Testcaller") Define Class testcaller As Custom Procedure Init This.AddObject("member","hasACollection") this.member.setparams("Parametername","SomeValue") Endproc Procedure Error(nError, cMethod, nLine) Messagebox("TestCaller") Endproc Enddefine Define Class HasACollection As Custom *!* Add Object oParams As Collection oParams = .null. procedure init this.oParams = createobject("Collection") endproc Procedure Error(nError, cMethod, nLine) Messagebox("HasACollection") Endproc Procedure SetParams(cName, uValue) Try oItem=This.oParams.Item(cName) messagebox("Missed") Catch To oExc when oExc.ErrorNo = 2061 messagebox("Caught") Endtry Endproc Enddefine...Jim
ox=CreateObject("Testcaller") > >Define Class testcaller As Custom > > Procedure Init > This.AddObject("member","hasACollection") > this.member.setparams("Parametername","SomeValue") > Endproc > > Procedure Error(nError, cMethod, nLine) > Messagebox(Program()) > Endproc > >Enddefine > > >Define Class HasACollection As Custom > Add Object params As Collection > > Procedure Error(nError, cMethod, nLine) > Messagebox(Program()) > Endproc > > Procedure SetParams(cName, uValue) > Try > oItem=This.params.Item(cName) > oItem.Value=uValue > Catch To oExc > oItem=Createobject("empty") > AddProperty(oItem,"name", cName) > AddProperty(oItem, "value", uValue) > This.params.Add(oItem, cName) > Endtry > Endproc >Enddefine >