Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

HTML Report Troubleshooting.

Status
Not open for further replies.

stanlyn

Programmer
Sep 3, 2003
945
US
Hi,

Environment: VFP9sp2 plus the new vfpx sp2 on Win8.0-64 Plus I deleted the VirtualStore vfp folder.

I'm getting an html report error when issuing:

Set Classlib To '.\libs\_REPORTLISTENER'
ox = Createobject('htmlListener')
ox.TargetFileName = (lcHtmlFolder) + 'TaxBill' + (lcTaxYear)
ox.Quietmode = .T.
Report Form '.\reports\HtmlTaxBillListing' Object ox All

The error details are fully shown in the attached screenshot with a really long assignment.
Message() = Variable FRX_OBJTYP_BAND is not found
Message(1) = real long assignment
Program() = _ReportListener.error
Line = 12

This has worked before for years and since an unknown change was made, it now errors and will not run. The changes were made about a month ago and I've undone everything I can thing of relating to this report.

In troubleshooting, I created a brand new report with nothing in and set the dataenv to foxuser.dbf and saved it as the original name in the original location so the report can be run from the app as the original would, except now we know that its a clean report with zero variables, groupings, and/or bands. It still has same errors.

Thanks for any suggestions on how to troubleshoot this?
Stanley

 
 http://files.engineering.com/getfile.aspx?folder=b95b12eb-14af-4316-8f2a-acbf1dfe72d1&file=Picture0013.png
The error is in the _reportlistener object. The variable not found indeed is a constant, so someone changed code of the htmllistener and that doesn't work in the normal program files location.
Reinstall vfp and install it into C:\Users\Public\VFP9, then you might modify ffc class code and other components in Home(), but it's really not recommended to do so, you depend on changes you won't be able to recover.

Since you deleted Virtualstore you also lost your changes.

Bye, Olaf.
 
Hi Olaf,

Thanks for the suggestions. I have followed them carefully with no improvement.

Specifically, I
1. Uninstalled all vfp9 stuff (program, oledb, odbc and etc)
2. Deleted all the vfp folders in ProgramFiles, VirtualStore and ?
3. I did NOT search for or delete any vfp registry nodes
4. Installed vfp9 into c:\users\public\vfp9
5. Installed sp2
6. Installed VFP9SP2RT.exe from vfpx
7. Installed ff from vfpx
8. Rebuilt the project by selecting all files
9.

Same error at the same place...

Thanks for your help,
Stanley

 
I'd stil rather say a constant is missing.

You first said you get an error issuing some code (executing it), now you say you get a compile error.
The error report you show is mostly unuseful, because you show the place the error handler is active.

The place of the error is in the verifyconfigtable of the reportlistener used.

That code failing is executed from utilityrteportlistener.init, there must be something in line 8 calling into whatever fx_4au06dm9s is.
Could you show utilityrteportlistener.init and fx_4au06dm9s.verifyconfigtable?

Also, you should step through the debugging further to get back to the place the error occured. Debugging with an error handler going into debug mode you are not at the end of things to examine, this is just the beginning of a debug session. Next thing happening is returning from the reportlistener error method back into the fx_4au06dm9s error method and then back into the verifyconfigtable method.

Is utilityrteportlistener from the FFC classes, too? I don't see it here.

Bye, Olaf.

 
I found a utilityreportlistener class in the offical MS SP2 version of the FFC _reportlistener.vcx There is an empty line in line 8 of it's Init.
Whatever you use has an error in there and you reintroduced this error, perhaps by downloading the "ff from vfpx", did you perhaps mean ffc from vfpx? Seems to be a version unfortunately containing this error.

Report problems with classes from there on codeplex at VFPX, please.

Bye, Olaf.
 
OK, I see I made an interpretation mistake, the call stack window is not stating line numbers aside of the program, just call stack levels. It's unclear what to look at, I don't get how the name in the call stack changes to fx_4au06dm9s, though and what that is, the init of the utilityreportlistener class (both the original sp2 and vfpx (sedna) version) don't call into anything but the class itself.

Anyway, even searching all code of the htmllistener and utilitylistener I don't see the usage of the FRX_OBJTYP_BAND constant.
Are you using this constant in your FRX?

Bye, Olaf.
 
Ok Olaf,

After searching for FRX_OBJTYP_BAND, I found it in the xmlListener object's insertXmlConfigRecords procedure. I get a lot of entries after doing a "Lookup Reference" search... see screenshot.

Yes, ff = ffc

Trying something, I'll be back...
Stanley


 
 http://files.engineering.com/getfile.aspx?folder=918ce142-3945-41e9-9b93-c0b68902bff9&file=Picture0015.png
Hi Olaf,

I'm back with new info...

I loaded up an older working version and it runs without an issues.

If I rebuild the project and check the "Recompile All Files" checkbox it breaks it.

It also breaks it if I create an executable and check only the "Display All Errors" and "Run After Build" checkboxes while leaving the "Recompile All Files" and "Regenerate Component IDs" UN-checked.

I know the forms and reports are all OK as they all work until I rebuilt the project or create the exe.

At this point, I'm switching out pieces, then test. Any ideas on what I should try next?

Also in all cases, the Rebuild project or create the .exe with any combination of checkboxes checked, it completes with NO errors.

Thanks, Stanley
 
Well, maybe not...

After stepping thru it the error occurs on the line in the screenshot:

laRequired[2,2] = NORMALIZE("OBJTYPE+OBJCODE+IIF(OBJTYPE="+ ;
TRANSFORM(FRX_OBJTYP_BAND+OUTPUTXML_OBJTYPE_NODES,"9999999")+"," + ;
TRANSFORM(OUTPUTXML_OBJTYPE_BANDOFFSET,"9999999")+",0)")

And, now it errors continuously, even with a saved non modified copy. This vfp report debugging is ??????

Well, carry on....
Stanley
 
 http://files.engineering.com/getfile.aspx?folder=0ac0b869-300b-462b-ae2d-04679cd2a819&file=Picture0017.png
Header could be the problem, Missing header file.

The definition of FRX_OBJTYP_BAND is missing, I don't find it in foxpro.h, so it must be in some more specific header file, eg

If you still don't get this hint, a constant is normall replaced with it's value at compilation. If a header file is missing or not referenced by the class or an #INCLUDE, VFP still can compile this and will at runtime look ouut for a variable.

If you compile with recompile all option, you can break code missing it's include file, which otherwise works, if it once was compiled with the header file at hand, you simply reuse that already compiled class and the missing include file doesn't matter.

FRX_OBJTYP_BAND is defined in ffc classses foxpro_reporting.h and that is included by reportlisteners.h
Did you put the new ffc folder, where the old one was or did put it anywhere else? The pathing will lead to VFP not finding the header file, especially the include inside the header file.

The classes have a dependency you can easily break. For example include files are searched along your PATH setting (the VFP setting, not DOS %PATHS%). VFP may also look in Home() and ffc folder, but if you put your ffc update somewhere else this isn't found.

Bye, Olaf.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top