currently I'm trying to compile the NextSuite project group in D5 and have some questions and suggestions.
(1) Compiler versions: Could you change NxSuite.inc to include the following:
CODE
// Borland Developer Studio 2006
{$IFDEF VER180}
{$DEFINE BDS2006}
{$DEFINE BDS2006_OR_UP}
{$DEFINE DELPHI7_OR_UP}
{$DEFINE DELPHI6_OR_UP}
{$ENDIF}
// Delphi 6
{$IFDEF VER150}
{$DEFINE DELPHI7}
{$DEFINE DELPHI7_OR_UP}
{$DEFINE DELPHI6_OR_UP}
{$ENDIF}
// Delphi 6
{$IFDEF VER140}
{$DEFINE DELPHI6}
{$DEFINE DELPHI6_OR_UP}
{$ENDIF}
// Delphi 5
{$IFDEF VER130}
{$DEFINE DELPHI5}
{$ENDIF}
{$IFDEF VER180}
{$DEFINE BDS2006}
{$DEFINE BDS2006_OR_UP}
{$DEFINE DELPHI7_OR_UP}
{$DEFINE DELPHI6_OR_UP}
{$ENDIF}
// Delphi 6
{$IFDEF VER150}
{$DEFINE DELPHI7}
{$DEFINE DELPHI7_OR_UP}
{$DEFINE DELPHI6_OR_UP}
{$ENDIF}
// Delphi 6
{$IFDEF VER140}
{$DEFINE DELPHI6}
{$DEFINE DELPHI6_OR_UP}
{$ENDIF}
// Delphi 5
{$IFDEF VER130}
{$DEFINE DELPHI5}
{$ENDIF}
(or just use Mike Lischke's Compiler.inc )
(2) Replace a few occurences of {$IFNDEF DELPHI6} by {$IFDEF DELPHI7_OR_UP}.
(3) You use quite a lot of functionality found in SysUtils, Graphics etc in D6 up that is missing in D5. I've copied the relevant parts from my BDS2006 source and written a small D5Compat glue unit to provide this functionality. However I need to change the uses clauses of some Nx* units to make this work. Would you mind adding something like
CODE
{$IFNDEF DELPHI6_OR_UP} D5Compat, {$ENDIF}
to the relevant units? Or maybe {$IFDEF USE_EXPERIMENTAL_D5_COMPAT_HACK}? And remember: This works only for people who are able to get the DateUtils, StrUtils etc source or rewrite large parts of it.
(4) In TNxCustomGridControl.SaveToTextFile, you use Write(f, ...) to output WideStrings. D5 doesn't seem to support this. Do you have an idea how to solve this task D5 compatibly?
Enough for now and thanks for reading,
Uli.