Possible TReport problem with ::NeedNewPage()

Possible TReport problem with ::NeedNewPage()

Postby Roger Seiler » Tue Oct 31, 2006 1:03 pm

Antonio,

I had a problem with occasionally getting a blank page printed out between other normal pages. So I took a close look at the way ::NeedNewPage() is implemented in TReport and found that ::nStdLineHeight gets added twice in immediate succession to ::nRow, and this seemed to be the source of my problem. Apparently it should have only been added once.

Here is how it happens...

1. In ::EndLine()...

DEFAULT nHeight := ::nStdLineHeight

::nRow += nHeight

IF ::NeedNewPage()
::EndPage()
ENDIF

2. In the definition of ::NeedNewPage()...

METHOD NeedNewPage INLINE ( ::nRow + ::nStdLineHeight >= ::nBottomRow )

Isn't the addition of ::nStdLineHeight in this method an unnecessary duplication of the addition of this same value immediately prior in ::EndLine() ?

Adding this value a second time sometimes pushes the value of ::nRow to a number greater than ::nBottomRow, even though the bottom of the page has actually not quite yet been reached, thereby forcing an ::EndPage() before it is actually needed.

- Roger
User avatar
Roger Seiler
 
Posts: 223
Joined: Thu Dec 01, 2005 3:34 pm
Location: Nyack, New York, USA

Re: Possible TReport problem with ::NeedNewPage()

Postby Enrico Maria Giordano » Tue Oct 31, 2006 5:36 pm

I agree. I always used

Code: Select all  Expand view
METHOD NeedNewPage() INLINE ( ::nRow >= ::nBottomRow )


in my customized TReport.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8710
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Postby Antonio Linares » Wed Nov 01, 2006 8:09 am

Roger,

>
Isn't the addition of ::nStdLineHeight in this method an unnecessary duplication of the addition of this same value immediately prior in ::EndLine() ?
>

Yes, it looks so. Is it working fine now with your fix ?

Thanks for your feedback,
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42077
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Roger Seiler » Thu Nov 02, 2006 2:56 pm

Yes, Enrico's fix works fine. Thanks.

- Roger
User avatar
Roger Seiler
 
Posts: 223
Joined: Thu Dec 01, 2005 3:34 pm
Location: Nyack, New York, USA


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 62 guests