Welcome
to the CrystalVFE 2.0.1 update! This update contains updated
CCRYSTAL.VCX/VCT library files needed to correct some bugs discovered in
version 2.0. CrystalVFE
2.0.1 supports Crystal Reports (CR) 8.5, 9 , 10
and 11 (XI) Developer (Dev) Editions.
However, it should be noted that CR 11 will not run under Win 95, 98 or
ME.
Note: This update assumes that you already have
installed the CrystalVFE 2.0 on your computer. CrystalVFE 2.0 is
available for registered users in the F1
CR Dev Edition, version 8.5, 9, 10 or 11
Visual
FoxPro 8 SP1, Visual FoxPro 9 SP1 or higher
Visual
FoxExpress (VFE) 2005 or higher
VFPCOM.DLL
(http://www.microsoft.com/downloads/details.aspx?FamilyID=1529819c-2ce8-4e89-895e-15209fcf4b2a&DisplayLang=en)
(version date of 5/24/2005)
|
CR Dev Edition Version Requirements |
||
|
Version |
Stand-Alone Installation |
Side-by-Side Installation * |
|
CR
8.5 |
D |
- |
|
CR 9 |
D plus RCAPI License |
D |
|
CR
10 |
A |
D |
|
CR
11 |
D |
- |
Legend: Developer Edition – D, Report Creation API - RCAPI, Advanced Developer Edition – A
* A second version of CR Dev Edition that is installed on the same computer as CR 8.5 Dev Edition. For example, if you wish to run CrystalVFE 2.0.1 with CR 10, you must either 1) purchase the CR 10 Advanced Developers Edition (which used to retail for $1,500) and run it stand-alone on your machine, or 2) purchase the CR 10 Developer Edition and run it side-by-side with CR 8.5 Developer Edition on the same machine. However in the second scenario, you would be required to have a copy of CR 8.5 Developer Edition on your machine because CR 10 Developer Edition does not contain the RCAPI licensing needed to create the required CR 10 objects – but CR 8.5 DOES. J In essence, you will be creating the report under CR 8.5 (at design time) and running it with CR 10 (at run time).
- Additional copy of CR 8.5 Dev Edition not required
Problems
were reported when running OLEDBFOX.DLL with VFP 9 and CrystalVFE
2.0. The latest version of VFPCOM.DLL (http://www.microsoft.com/downloads/details.aspx?FamilyID=1529819c-2ce8-4e89-895e-15209fcf4b2a&DisplayLang=en)
resolves
the issues with OLEDBFOX and runs faster than OLEDBFOX.DLL. I believe that Chuck Werner also uses
VFPCOM.DLL running under Win 95, 98 and Me with significant speed increases as
compared to the CADOUTILS class methods(see GetADORecordset method code listed in installation section
below). It is now recommended that you
use and deploy VFPCOM.DLL (version dated 5/24/2005) with your CrystalVFE 2.0.1 applications.
The
following bugs were reported and fixed in version 2.0.1:
·
cCRReportTypes.cmdPickFile.Click() – Fixed problem with method never changed the
extension when another file type was selected.
Also, the file type displayed in the PUTFILE()
dialog was not in synch with the default extension.
·
cCRPrintReportWizard.cExtensions – Changed to “PDF;DOC;HTML;RTF;TXT;XLS;XML”
because previous version used “HTM” when outputting to HTML format, which
triggered an error.
·
cCrystalOutputObject.ExportReport() – Fixed problem when exporting to HTML format
that generated an error (CVFEPROBLEMEXPORTINGREPORTMSG) condition.
·
cCrystalOutputObject.SetExportOptions() – Fixed syntax bug for exporting to Word format. Fixed missing #DEFINE. Also, now sets the HTMLHasPageNavigator
property as well as the HTMLEnableSeparatedPages
property when exporting to HTML format.
1. BACKUP your existing CCRYSTAL.VCX/VCT files that are located in your [VFE2005 DIR]\VFEFRAME\LIBS directory. Extract the contents of CCRYSTAL201.ZIP to your [VFE2005 DIR]\VFEFRAME\LIBS directory and overwrite the existings files.
2. Replace the GetRecordset method in the iCursor class of iData.VCX with the following:
*==============================================================================* Method: GetRecordset of icursor class in idata.vcx* Purpose: Returns an ADO record set that holds the contents of the cursor.* Author: F1 Technologies* Parameters: * Returns: loRS, Object, Reference to the ADO record set.* Notes: If this method is called by your application the user* must have ADO support installed on their machine. * See: http://www.microsoft.com/data/ado/default.htm. * The user must also have the VFPCOM utility installed. * VFPCOM is a self-registering utility. With a normal Visual * FoxPro installation it is located in the VFPCOM directory * beneath Visual FoxPro. (HOME() + "VFPCOM")* Modifications: * 07/18/2002 Made changes to use the VFPCOM Utility to create the* recordset. This eliminates the need to execute a second* query to retrieve the data and ensures that the ADO * record set exactly matches the cursor's contents.* 02/17/2004 Now uses factory to determine the ADO Recordset Maker * class to instantiate.* 07/23/2004 Now uses 'Win9X ADO Recordset Maker' class when running* Win95, Win98 or WinME (CADOUTILS) and 'ADO Recordset Maker'* when running Windows 2000 or higher (VFPCOM.DLL).*==============================================================================LOCAL ; loRS AS ADODB.RecordSet, ; loComUtil, ; lcClass as String loRS = CREATEOBJECT("ADODB.RecordSet") *- Use the apropriate class depending on what OS we are running.IF VAL(OS(3)) < 5 *- Running Windows 95, 98 or ME. lcClass = This.oApplication.GetClass("Win9X ADO Recordset Maker")ELSE *- Running Windows 2000 or higher. lcClass = This.oApplication.GetClass("ADO Recordset Maker")ENDIF IF !EMPTY(lcClass) loComUtil = CREATEOBJECT(lcClass)ENDIF IF VARTYPE(loRS) = T_OBJECT AND VARTYPE(loComUtil) = T_OBJECT loComUtil.CursorToRS(loRS,This.Alias) ENDIF RETURN loRS
3. Add factory support.
Ensure that the following entries are made in the ICLASSES factory table.
|
ICLASSES.DBF: ADO Recordset Maker Fields Fields |
|
|
CDESCRIPT |
CCLASS |
|
Win9X
ADO Recordset Maker |
CADOUTILS |
|
ADO Recordset Maker |
VFPCOM.COMUTIL
|
|
ICLASSES.DBF – Crystal Reports Fields |
|||
|
Version |
**Crystal
RDC Class |
**Crystal
Preview DLL |
**Crystal
Preview Form |
|
CR
8.5 |
*CrystalRuntime.Application.8.5
|
*CR85Preview.RBLCRPreview
|
*CCRYSTALREPORTFORM
|
|
CR 9 |
*CrystalRuntime.Application.9 |
*CR9Preview.RBLCRPreview |
*CCRYSTAL9REPORTFORM
|
|
CR
10 |
*CrystalRuntime.Application.10 |
*CR10Preview.RBLCRPreview |
*CCRYSTAL10REPORTFORM
|
|
CR
11 |
*CrystalRuntime.Application.11 |
*CR11Preview.RBLCRPreview |
*CCRYSTAL11REPORTFORM |
* - CCLASS field ** - CDESCRIPT field
Use the version of CR in the table above that you intend to distribute with your application to determine the field values to add to the ICLASSES table. The Crystal RDC Class record in factory determines which version of CR is used by CrystalVFE at runtime.
If your applications ulitizes the dll – based CR viewer to preview reports, then you will need to distribute the appropriate version of the CR Preview control (CRXXPreview.DLL – where XX stands for the version of CR you are distributing with your application), located in the CrystalVFE directory (<VFEDIR>/CrystalVFE). This DLL needs to be registered on each client machine that runs your application using REGSVR32.EXE. Using the CR Preview control for previewing reports created using CrystalVFE is the recommended method, because it is much faster than the corresponding VFP form – based method. Setting the lUsePrintPreviewDLL property of the Crystal Reports Output Object to True invokes the CR Preview control for previewing Crystal Reports in CrystalVFE.
CrystalVFE utilizes the CR Standard Report Wizard Component (CRYSTALWIZARD.DLL) during design time to create a Crystal Report. Due to licensing changes made in version 9 of CR related to use of RCAPI method calls, the use of this component from within COM code was disabled/locked out and required the purchase and installation of a RCAPI license on the developer machine before the component could be used to create reports. However, if a machine was running a side-by-side configuration in version 9 with version 8.5 Dev Edition, then the 8.5 version of CRYSTALWIZARD.DLL could be used to create the CR at design time. The resulting report, created with the version 8.5 component, runs fine under the newer version (9, 10 or 11) RDC runtimes for the end user.
If you are running CR 9, CR 10 or
CR 11 side-by-side with CR 8.5 Dev Edition, then you can use the value of RBLCrystalWizard.CRADOWizard in the RBLCRYSTALWIZARDCLASS property to utilize the CR 8.5
Runtime Wizard Component during design time. If you are running CR 9 or
CR 10 stand-alone, then you will need to purchase a Runtime Creation API
(RCAPI) license for CR 9 or have the Advanced Developers Edition of Crystal
Reports for version 10 and use the appropriate version values from the table
below.
|
CRWIZUTILS Class of
<VFEDIR>/WIZARDS/LIBS/WIZCRYSTAL.VCX |
|
|
Version |
RBLCRYSTALWIZARDCLASS property |
|
CR
8.5 |
RBLCrystalWizard.CRADOWizard |
|
CR 9 |
RBLCrystal9Wizard.CRADOWizard |
|
CR
10 |
RBLCrystal10Wizard.CRADOWizard |
|
CR
11 |
RBLCrystal11Wizard.CRADOWizard |
The restrictions on use of RCAPI method calls that are in versions 9 and 10 have been removed in CR 11 Dev Edition. Business Objects has opened up the use of RCAPI method calls in COM code for CR 11 Dev Edition. This means that you can CR 11 Dev Edition stand-alone without the extra expense of an additional RCAPI license ($199) or be required to purchase an Advanced Developer Edition like version 10 ($1,500). CrystalVFE 2.0 installs and registers a versions of CRYSTALWIZARD.DLL and RBLCrystal11Wizard.DLL that are compatible with CR 11 Dev Edition.
See Crystal Reports XI Feature Comparison by Version and Edition on Business Object’s site for more information features found in CR 11.
CrystalVFE help file ([VFE DIR]\CRYSTALVFE\CRYSTALVFE.CHM) has not been updated since version 1.1. It still shows screen shots from CR 8.5. Starting with CR 9, the IDE for Crystal Reports has changed a bit with each subsequent version. There are currently no plans to update the CrystalVFE help file with screen shots from CR 11, which is the latest version to date.
Support for CrystalVFE 2.0.1 is handled through the Customer Service Center on the F1 Technologies web site. ONLY users that have a registered their copy of CrsytalVFE in the CSC are eligible for If necessary, you can contact me by e-mail at: RandyMac@RBLData.com.