Welcome to the CrystalVFE 2.0 beta! CrystalVFE 2.0 adds support for Crystal Reports (CR) 9 , 10 and 11 (XI) Developer (Dev) Editions.
While the installation program, SETUP.EXE, attempts to backup your previous CrystalVFE install, It is HIGHLY RECOMMENDED that you backup your existing CrystalVFE installation by hand prior to installing this beta.
Note: This is a full install of the CrystalVFE 2.0 beta, not an update to version 1.2.
CR Dev Edition, version 8.5, 9, 10 or 11
Visual FoxPro 8 SP1 or Visual FoxPro 9
Visual FoxExpress (VFE) 8.0 or higher
|
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
- Additional copy of CR 8.5 Dev Edition not required
1. Run SETUP.EXE to install CrystalVFE 2.0. Make sure the select your VFE home directory for the destination directory for the installation (i.e. C:\VFE8). The installation will not complete properly if you do not select a valid VFE home directory.
2. Follow steps 1 - 4 under the Installation topic of CrystalVFE help file ([VFE DIR]\CRYSTALVFE\CRYSTALVFE.CHM), then proceed to step 3 below.
3. 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 (OLEDBFOX.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
4. Add factory support.
We need to add some records to the ICLASSES factory table.
|
ICLASSES.DBF: ADO Recordset Maker Fields Fields |
|
|
CDESCRIPT |
CCLASS |
| Win9X ADO Recordset Maker | CADOUTILS |
| ADO Recordset Maker | OLEDBFOX.UTILS |
|
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. Current plans are to update the CrystalVFE help file with screen shots from CR 11, which is the latest version to date. Tentative plans are to complete the update of the help file in early Summer of 2005.
Support for CrystalVFE 2.0 is handled through the Customer Service Center on the F1 Technologies web site. If necessary, you can contact me by e-mail at: RandyMac@RBLData.com.