Here's how to recompile and install Developer Express Quantum Grid v3.2.2 in Delphi 2006. We're assuming you've got the Delphi 6 version. If you don't have the source code, this will be of no use to you. Notes: I did not convert ExpressMemData and haven't tried to install it because I don't need it. This is not heavily tested. At this point I've only dropped the installed components on forms and run (successfully). Rather than updating the D6 source to work with all versions, I copied it and modified the copy to be sure I don't screw up the original and because I hope to be upgrading all code to use the latest DevEx QG version within the next few months, so all of the v322 stuff will be gone soon anyhow. Steps: 1. In your DevEx directory is a tree with the following folders: ExpressCommon, ExpressEditors Library, ExpressInplaceEditors, ExpressQuantumGrid. In each of those folders is another folder named Delphi6. Create another folder in each of those folders named Delphi2006 and copy the contents of the Delphi6 folder. 2. In each of the new Delphi2006 folders, change all file names that end with a 6 to 2006. 3. Edit all the dpk files in the *Delphi2006 directories: Change the package name and everthing in the 'requires' list from '6' to '2006' 4. Open D2006. In the project manager, right-click on the Project Group> and for each *2006.dpk in the Source directories, 'Add existing project'. Save the project group so you can easily modify things in the future if necessary. 5. In each project's Options, set the Output directory, Unit output directory, and DCP output directory to the project's LIB folder. (the Lib folders are located at the same tree level as the Source) 6. In all of the *.inc files in the Delphi2006 folders, add the following at the bottom of the file: {$IFDEF VER180} { Delphi 2006 } {$DEFINE DELPHI4} {$DEFINE DELPHI5} {$DEFINE DELPHI6} {$DEFINE DELPHI2006} {$ENDIF} 7. Source Changes: 1.. ExpressQuantumGrid\Delphi2006\Sources\dxDBCtrl.pas: In function'DataVarType', there's a const array of TFieldType declared. More items have been added to that TFieldType since Delphi6 so, after where it says 'varDouble', add: {$IFDEF DELPHI2006} varstring, { ftFixedWideChar } varstring, { ftWideMemo } vardate, { ftOraTimeStamp } varstring { ftOraInterval } {$ENDIF} 2.. ExpressQuantumGrid\Delphi 6\Sources\dxFilter.pas: In procedure 'ReadVariant' in the const array (ValTtoVarT) of TValueType, immediately after '{$IFDEF DELPHI6}, varError' add '{$IFDEF DELPHI2006}, varError {$ENDIF}' 8. Project|Build All Projects 9. Create a directory under \Developer Express Inc named DXRuntime2006 and add it to your System path (you can do that within Delphi under Tools|Options|Environment Variables, by double-clicking on PATH). Copy all the BPL files in the *2006\LIB folders to DXRuntime2006. 10. Right-click on each project in project manager and Install. Several will not install because they aren't design time packages but I found it was faster to simply try to install them and let Delphi sort out whether they are or not. 11. That should do it. |