>I did not say to stay away from them - no problem using them. The speed penalty may not be significant. I do use them sometimes
With today's machines, the difference may be negligible, specially when we're talking about service objects which may not be accessed from tight loops.
And when they are, getting an object reference to it into a variable, then using that variable inside the loop, will run the access method only once. IOW, instead of
for i=1 to 10000
oApp.oServiceObject.DoSomething()
endfor
which would fire the access method each time, we can do
loService=oApp.oServiceObject
for i=1 to 10000
loService.DoSomething()
endfor