[progress Communities] [progress Openedge Abl] Forum Post: Re: Is It Safe To Use Properties...

  • Thread starter Thread starter Peter Judge
  • Start date Start date
Status
Not open for further replies.
P

Peter Judge

Guest
Do you expect the value returned by the property to change between iterations? If so, you will run into problems since the WHERE only evaluates once. The test code below only displays one message in each case. def temp-table tt1 no-undo field f1 as dec field f2 as char. def var i as int. def var o as PropGet. do i = 1 to 100: create tt1. f1 = i. f2 = string(i). end. o = new PropGet(). o:GetterProp = 1.0. o:NekkidProp = 1.0. for each tt1 where tt1.f1 = o:GetterProp: o:GetterProp= tt1.f1 + 1. message 'tt1:' tt1.f1 tt1.f2 skip 'GetterProp' o:GetterProp skip 'can-find?' can-find(first tt1 where tt1.f1 = o:GetterProp) view-as alert-box. end. message 'done GetterProp' view-as alert-box. for each tt1 where tt1.f1 = o:NekkidProp: o:NekkidProp = tt1.f1 + 1. message 'tt1:' tt1.f1 tt1.f2 skip 'o:NekkidProp' o:NekkidProp skip 'can-find?' can-find(first tt1 where tt1.f1 = o:NekkidProp) view-as alert-box. end. message 'done NekkidProp' view-as alert-box. And the PropGet class too class PropGet: define public property GetterProp as dec no-undo get(): return exp(GetterProp, 2). end get. set. define public property NekkidProp as dec no-undo get. set. end class.

Continue reading...
 
Status
Not open for further replies.
Back
Top