Ed Leafe wrote: > On Nov 20, 2008, at 11:04 AM, <[EMAIL PROTECTED]> > <[EMAIL PROTECTED]> wrote: > >> That works...kinda. The sizer refreshed properly, however I got a dead >> object error upon exiting the app > > Simple then: change the call to > > if obj and obj.Parent: > dabo.ui.callAfter... > >> and using your suggestion would be >> problematic if the Dynamic method is used by multiple objects since >> the >> method doesn't know anything about the object..iow I had to issue >> dabo.ui.callAfter(self.Form.<objregid>.Parent.layout) explicitly > > > That's what callAfterInterval() is for. It caches all identical calls > within a given interval, and only issues it once. So if you have a > dozen calls to the dynamic method, have it call (assuming it's a form- > level method): > > dabo.ui.callAfterInterval(100, self.layout) > > Now each time it is called within 100ms of another call, the interval > gets re-set. Only when the interval passes without a call does the > call actually get made.
I agree with Ed: any needed layout(), refresh(), and update() calls *should* be handled by your code, not Dabo's. And the callAfterInterval() is the way to keep one update from recursively causing another. Paul _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev Searchable Archives: http://leafe.com/archives/search/dabo-dev This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]
