Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Fixing frx2word bug in report variable initial value
Message
De
06/11/2001 17:04:08
 
 
À
06/11/2001 15:57:26
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Divers
Thread ID:
00574226
Message ID:
00578247
Vues:
40
Andrus, you can do anything you like to the class, that's why I upload the source code. Use and abuse at will.

In fact, if anyone comes up with a bugfix or enhancement, they can email it to me and I'll include the credit in the docs and on the description page here on the UT after I have tested and uploaded the addition.


>.InitVars() works OK without saving/restoring view.
>
>I discovered next bug in frx2word: during outputting a last page footer, report main alias is at end of file positon. However, in VFP report writer, report main alias in at last record.
>To fix this, I added a two bold lines to the .reportform() method.
>Is it OK to add them ?
>
> if eof()
>SKIP -1 IN (m.calias) && Added
> .placecolftr()
>
> .placepgftr()
> if (.voffsetpts+.sumbandheightpts > .maxvpospts) or ;
> (.columns > 1)
> f2w_owdoc.sections.add
> .pageno=.pageno+1
> .voffsetpts=0
>
> endif
> .placesummary()
>exit && added
> endif
>
>>Here's a thought: Try the old CREATE VIEW and SET VIEW commands to create .vue files as blocks to InitVar()...this way, everything gets restored. Yes, it's a cheezy idea, but it would work.
>>
>>
>>>Yes and No. Some of my simpler reports are running after this fix.
>>>
>>>However, complex reports are still causing errors. I'm using a udf-s in
>>>report expressions.
>>>I have found that some of my tables related to report main alias are at eof() position if using frx2word.
>>>
>>>If VFP report writer, they are at correct position. It seems that frx2word
>>>will not restore current alias and record after evaluating my expression
>>>
>>>
>>>>Does it work now?
>>>>
>>>>>I have found the following bug in frx2word utility:
>>>>>
>>>>>if report variable initial value uses a previous report variable initial value,
>>>>>an error occurs in .initvars() method.
>>>>>
>>>>>I fixed it by adding two lines to initvars method.
>>>>>
>>>>>
>>>>>
>>>>>		this.vardata[m.i,4]		= rpt.totaltype
>>>>>		this.vardata[m.i,5]		= 0
>>>>>		this.vardata[m.i,6]		= 0
>>>>>
>>>>>* The next line produses error if initial value use other var initial value
>>>>>		this.vardata[m.i,7]		= eval(allt(rpt.tag))
>>>>>
>>>>>		this.vardata[m.i,8]		= vartype(eval(allt(rpt.tag)))
>>>>>		this.vardata[m.i,9]		= this.vardata[m.i,7]
>>>>>
>>>>>* Those linses are added to fix this error
>>>>>PRIVATE (ALLTRIM(rpt.name))
>>>>>STORE eval(allt(rpt.tag)) TO (alltrim(rpt.name))
>>>>>
>>>>>
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform