>Hi Cathy,
>
>>BeforeRender and AfterRender are not native methods of a reportlistener so that makes me ask ... where are you calling these methods? Maybe the problem is with the code that is meant to call these methods.
>
>They're Doug's equivalent of DoBeforeRender and DoAfterRender in your
>"Report Writer in Action" classes, called in the same places -- i.e., the
>listener's Render(params) method consists basically of BeforeRender(params), then
>ReportListener::Render(adjustedparams), then AfterRender(params). Their
>defaults simply call the successor's method.
>
>Should be straightforward -- BeforeRender sets the adjustment props,
>AfterRender resets them to zero.
>
>I just can't figure out what circumstance would cause the listener's
>Render method not to fire (WAIT WINDOW immediately after Render's
>LPARAMETERS line confirms this), but, since the object is being rendered
>(albeit incorrectly) on the page, obviously a render from further up the hierarchy
>is being performed.
>
>My only guesses so far are a stretch:
>(1) Somehow the Render for my initial Heading object and my initial ColumnData
>object are getting a bad param. But that would not explain why they render correctly
>when they are the only objects, rather than just the initial ones of two or more.
>(2) All of the objects' EvaluateContents DO change the Text, and I set
>Reload to .T., so I wonder if that's somehow initially affecting the engine as it
>proceeds to the Render.
>
>-mark
Render does not get called if Print When logic returns .f. Check all the Render methods in the hierarchy of the Report Listener you're using and make sure that any Render methods with code have a DODEFAULT(). For that matter, if you've added ANY code in ANY method of your Report Listener, make sure it has DODEFAULT() code.