Page 1 of 1

have any new version for XE5?

Posted: 11.10.2013, 12:23
by wylton
i can't compiler xe4 version for xe5..

where can i download for xe5?

Re: have any new version for XE5?

Posted: 11.10.2013, 13:28
by EgonHugeist
wylton,

what happens? An Errorlog would be nice to have.

Have no XE5. All i can do is to help theoretical...

Re: have any new version for XE5?

Posted: 11.10.2013, 15:34
by EgonHugeist
Hint: Have a look to Zeos.inc. The compile directives for this compiler are missing, AFAIK.

Re: have any new version for XE5?

Posted: 11.10.2013, 15:44
by wylton
first ZCompatibility.CharInSet conflicto with System.SysUtils.CharInset.


I get error like:

Checking project dependencies...
Compiling ZComponent.dproj (Debug, Win32)
dcc command line for "ZComponent.dpk"
c:\program files (x86)\embarcadero\rad studio\12.0\bin\dcc32.exe -$O- -$W+ -$Q+ --no-config -M -Q -Z -TX.bpl
-AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;
DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG -I"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Win32\debug";..\src\plain;"c:\program files
(x86)\embarcadero\rad studio\12.0\lib\Win32\release";"C:\Users\linux2\Documents\RAD Studio\12.0\Imports";"c:\program files (x86)\embarcadero\rad
studio\12.0\Imports";"C:\Users\Public\Documents\RAD Studio\12.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\12.0\include";"C:\Program Files
(x86)\FastReports\LibD19";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE5\Win32";F:\delphixe5\DevExpress_VCL_XE5\Sources;
F:\delphixe5\ZEOSDBO-7.1.2-stable\src;F:\delphixe5\ZEOSDBO-7.1.2-stable\src\core -LE"C:\Users\Public\Documents\RAD Studio\12.0\Bpl"
-LN"C:\Users\Public\Documents\RAD Studio\12.0\Dcp" -NU.\Win32\Debug -NSSystem.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;Vcl;Vcl.Imaging;
Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi; -O..\src\plain;"C:\Users\Public\Documents\RAD Studio\12.0\Bpl";"c:\program
files (x86)\embarcadero\rad studio\12.0\lib\Win32\release";"C:\Users\linux2\Documents\RAD Studio\12.0\Imports";"c:\program files
(x86)\embarcadero\rad studio\12.0\Imports";"C:\Users\Public\Documents\RAD Studio\12.0\Dcp";"c:\program files (x86)\embarcadero\rad
studio\12.0\include";"C:\Program Files (x86)\FastReports\LibD19";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE5\Win32";
F:\delphixe5\DevExpress_VCL_XE5\Sources;F:\delphixe5\ZEOSDBO-7.1.2-stable\src;F:\delphixe5\ZEOSDBO-7.1.2-stable\src\core -R..\src\plain;
"C:\Users\Public\Documents\RAD Studio\12.0\Bpl";"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Win32\release";"C:\Users\linux2\Documents\RAD
Studio\12.0\Imports";"c:\program files (x86)\embarcadero\rad studio\12.0\Imports";"C:\Users\Public\Documents\RAD Studio\12.0\Dcp";"c:\program files
(x86)\embarcadero\rad studio\12.0\include";"C:\Program Files (x86)\FastReports\LibD19";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE5\Win32";
F:\delphixe5\DevExpress_VCL_XE5\Sources;F:\delphixe5\ZEOSDBO-7.1.2-stable\src;F:\delphixe5\ZEOSDBO-7.1.2-stable\src\core -U"c:\program files
(x86)\embarcadero\rad studio\12.0\lib\Win32\debug";..\src\plain;"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Win32\release";
"C:\Users\linux2\Documents\RAD Studio\12.0\Imports";"c:\program files (x86)\embarcadero\rad studio\12.0\Imports";"C:\Users\Public\Documents\RAD
Studio\12.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\12.0\include";"C:\Program Files (x86)\FastReports\LibD19";"C:\Program Files
(x86)\Raize\CS5\Lib\RS-XE5\Win32";F:\delphixe5\DevExpress_VCL_XE5\Sources;F:\delphixe5\ZEOSDBO-7.1.2-stable\src;
F:\delphixe5\ZEOSDBO-7.1.2-stable\src\core -V -VN -K00400000 --description:"Zeos Database Components" -NB"C:\Users\Public\Documents\RAD
Studio\12.0\Dcp" -NH"C:\Users\Public\Documents\RAD Studio\12.0\hpp" -NO.\Win32\Debug ZComponent.dpk


*******************
[dcc32 Error] ZAbstractRODataset.pas(303): E2137 Method 'GetRecord' not found in base class
[dcc32 Error] ZAbstractRODataset.pas(312): E2037 Declaration of 'AllocRecordBuffer' differs from previous declaration
[dcc32 Error] ZAbstractRODataset.pas(313): E2037 Declaration of 'FreeRecordBuffer' differs from previous declaration
[dcc32 Error] ZAbstractRODataset.pas(328): E2137 Method 'ClearCalcFields' not found in base class
[dcc32 Error] ZAbstractRODataset.pas(339): E2137 Method 'InternalInitRecord' not found in base class
[dcc32 Error] ZAbstractRODataset.pas(354): E2137 Method 'InternalSetToRecord' not found in base class
[dcc32 Error] ZAbstractRODataset.pas(356): E2137 Method 'GetBookmarkData' not found in base class
[dcc32 Error] ZAbstractRODataset.pas(357): E2137 Method 'GetBookmarkFlag' not found in base class
[dcc32 Error] ZAbstractRODataset.pas(358): E2137 Method 'SetBookmarkFlag' not found in base class
[dcc32 Error] ZAbstractRODataset.pas(359): E2137 Method 'SetBookmarkData' not found in base class
[dcc32 Warning] ZDatasetUtils.pas(928): W1000 Symbol 'AnsiStrLComp' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Warning] ZDatasetUtils.pas(937): W1000 Symbol 'AnsiStrLComp' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Warning] ZDatasetUtils.pas(1134): W1057 Implicit string cast from 'AnsiString' to 'string'
[dcc32 Warning] ZDatasetUtils.pas(1135): W1000 Symbol 'AnsiStrLComp' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Fatal Error] ZAbstractRODataset.pas(953): F2063 Could not compile used unit 'ZDatasetUtils.pas'
Failed
Elapsed time: 00:00:00.3

Re: have any new version for XE5?

Posted: 11.10.2013, 19:06
by EgonHugeist
Ok first approach:

Add

// Compilation directives for Delphi XE5
{$IFDEF VER260}
{$DEFINE VER200BELOW} // Used in code
{$DEFINE DELPHI12_UP} // Used in code
{$DEFINE DELPHI14_UP} //Egonhugeist used in my code
{$DEFINE DELPHI15_UP} // Used in zeos.inc only
{$DEFINE DELPHI16_UP} // Used in code
{$DEFINE DELPHI17_UP} // Used in code
{$DEFINE DELPHI18_UP} // Used in code
{$DEFINE DELPHI19_UP}
{$DEFINE BDS4_UP} // Used in code
{$DEFINE BDS5_UP} // Used in code
{$ENDIF}

behind the DlephiXE4 Block in Zeos.inc. Than compile again and attach a new log

Re: have any new version for XE5?

Posted: 12.10.2013, 09:32
by wylton
[dcc32 Error] ZAbstractRODataset.pas(3528): E2072 Number of elements (38) differs from declaration (52)
[dcc32 Fatal Error] ZSqlStrings.pas(612): F2063 Could not compile used unit 'ZAbstractRODataset.pas'

Re: have any new version for XE5?

Posted: 12.10.2013, 10:20
by EgonHugeist
Ok looks better now..

Goto unit ZAbstrctRODataset.pas.
Replace the procedure
TZAbstractRODataset.CheckFieldCompatibility(Field: TField;FieldDef: TFieldDef);

with

Code: Select all

procedure TZAbstractRODataset.CheckFieldCompatibility(Field: TField;FieldDef: TFieldDef);

const
{$IFDEF FPC}
  BaseFieldTypes: array[TFieldType] of TFieldType = (
    ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, ftFloat,
    ftCurrency, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, ftVarBytes,
    ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftUnknown,
    ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, ftDataSet,
    ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, ftTimeStamp,
    ftFMTBcd , ftString, ftBlob);
{$ELSE}
  {$IFDEF VER180} //D2006
  BaseFieldTypes: array[TFieldType] of TFieldType = (
    ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, ftFloat,
    ftCurrency, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, ftVarBytes,
    ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftUnknown,
    ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, ftDataSet,
    ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, ftTimeStamp, ftFMTBcd,
    ftFixedWideChar,ftWideMemo,ftOraTimeStamp,ftOraInterval);
 {$ELSE}
  {$IFDEF VER185} //D2007
  BaseFieldTypes: array[TFieldType] of TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, // 0..4
    ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, // 5..11
    ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, // 12..18
    ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, // 19..24
    ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, // 25..31
    ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, // 32..37
    ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval); // 38..41
 {$ELSE}
{$IFDEF VER200}
   BaseFieldTypes: array[TFieldType] of TFieldType = (
      ftUnknown, ftString, ftSmallint, ftInteger, ftWord,
      ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime,
      ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
      ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,
      ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob,
      ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd,
      ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval,
      ftLongWord, ftShortint, ftByte, ftExtended, ftConnection, ftParams, ftStream);
{$ELSE}
{$IFDEF VER210}
   BaseFieldTypes: array[TFieldType] of TFieldType = (
      ftUnknown, ftString, ftSmallint, ftInteger, ftWord,
      ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime,
      ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
      ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,
      ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob,
      ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd,
      ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval,
      ftLongWord, ftShortint, ftByte, ftExtended, ftConnection, ftParams, ftStream,
      ftTimeStampOffset, ftObject, ftSingle);
{$ELSE}
{$IFDEF VER220}
  BaseFieldTypes: array[TFieldType] of TFieldType = (
    ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, ftFloat,  // 0..6
    ftFloat, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, ftVarBytes, // 7..13
    ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftUnknown, // 14..22
    ftString, ftWideString, ftLargeInt, ftADT, ftArray, ftReference, ftDataSet, // 23..29
    ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, ftTimeStamp, ftFMTBcd, // 30..37
    ftWideString, ftBlob, ftOraTimeStamp, ftOraInterval, //38..41
    ftLongWord, ftInteger, ftInteger, ftExtended, ftConnection, ftParams, ftStream, //42..48
    ftTimeStampOffset, ftObject, ftSingle); // 49..51
{$ELSE}
{$IFDEF VER230}
  BaseFieldTypes: array[TFieldType] of TFieldType = (
    ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat,
    ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc,
    ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary,
    ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference,
    ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid,
    ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval,
    ftLongWord, ftShortint, ftByte, ftExtended, ftConnection, ftParams, ftStream,
    ftTimeStampOffset, ftObject, ftSingle );
{$ELSE}
{$IFDEF VER240}
  BaseFieldTypes: array[TFieldType] of TFieldType = (
    ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat,
    ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc,
    ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary,
    ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference,
    ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid,
    ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval,
    ftLongWord, ftShortint, ftByte, ftExtended, ftConnection, ftParams, ftStream,
    ftTimeStampOffset, ftObject, ftSingle );
{$ELSE}
{$IFDEF VER250}
  BaseFieldTypes: array[TFieldType] of TFieldType = (
    ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat,
    ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc,
    ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary,
    ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference,
    ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid,
    ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval,
    ftLongWord, ftShortint, ftByte, ftExtended, ftConnection, ftParams, ftStream,
    ftTimeStampOffset, ftObject, ftSingle );
{$ELSE}
{$IFDEF VER260}
  BaseFieldTypes: array[TFieldType] of TFieldType = (
    ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat,
    ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc,
    ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary,
    ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference,
    ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid,
    ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval,
    ftLongWord, ftShortint, ftByte, ftExtended, ftConnection, ftParams, ftStream,
    ftTimeStampOffset, ftObject, ftSingle );
{$ELSE}
  BaseFieldTypes: array[TFieldType] of TFieldType =
   (ftUnknown, ftString, ftSmallint, ftInteger, ftWord,
    ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime,
    ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
    ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,
    ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob,
    ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}


  CheckTypeSizes = [ftBytes, ftVarBytes, ftBCD, ftReference];

begin
  with Field do
  begin
    if (BaseFieldTypes[DataType] <> BaseFieldTypes[FieldDef.DataType]) then
      DatabaseErrorFmt(SFieldTypeMismatch, [DisplayName,
        FieldTypeNames[DataType], FieldTypeNames[FieldDef.DataType]], Self);
    if (DataType in CheckTypeSizes) and (Size <> FieldDef.Size) then
        DatabaseErrorFmt(SFieldSizeMismatch, [DisplayName, Size,
          FieldDef.Size], Self);
  end;
end;
If it still doesn't compile than a new fieldtype came to shove. In this case i need you help. Open unit DB.pas of delphi and make a copy of the TFieldType declaration and Attach it here. It should look like:
{ Misc DataSet types }

TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, // 0..4
ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, // 5..11
ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, // 12..18
ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, // 19..24
ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, // 25..31
ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, // 32..37
ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval, // 38..41
ftLongWord, ftShortint, ftByte, ftExtended, ftConnection, ftParams, ftStream, //42..48
ftTimeStampOffset, ftObject, ftSingle); //49..51

Re: have any new version for XE5?

Posted: 12.10.2013, 14:14
by wylton
with out patch in unit DB.pas, I have compiled fine.

thanks.

Re: have any new version for XE5?

Posted: 13.10.2013, 13:35
by EgonHugeist
What about deprecated warnings?

I know CharInSet() is deprected. This i read in the german delphipraxis.net... We chould use the slow TCharHelpher instead or something like this.
Are there more, we've to worry about?

Re: have any new version for XE5?

Posted: 15.10.2013, 06:47
by neubert
Good morning,

I just upgraded from Delphi 2009 to XE5. zeoslib is among the victims of the upgrade. I am willing to help making zeoslib work under XE5.

I am on revision 2608 (7.1.2 stable release).

What SVN branch should I follow? In what branch are the above mentioned fixes already included?

Kind regards
Boris

Re: have any new version for XE5?

Posted: 16.10.2013, 10:52
by merovingio
HI all!
I work to adapt XE4 projects to XE5.
but when I rename project ZCore180.bpl in ZCore190.bpl is changed in ZCore190180.bpl.

How can to do?

Thanks.

Re: have any new version for XE5?

Posted: 16.10.2013, 20:48
by EgonHugeist
@neubert

hi thanks for offering your help.
The actual development branch is \testing-7.2 (SVN). Actually i'm trying to speed up Zeos a bit. And i don't know if it compiles well which such a new IDE. Some newly bugs are possible, i think but we need testers to get them resolved.
So switch to SVN, checkout testing-7.2 and tell me what happens. All informations are helpfull. Patches to resolve warnings or fix bugs are welcome too.

merovingio,

I think you simply have to change the prefix in the package settings.

Re: have any new version for XE5?

Posted: 17.10.2013, 08:25
by neubert
Thanks Michael,

I checked out testing-7.2. I will continue posting my experiences in a new "Delphi XE5" thread in the Zeoslib 7.2 Alphatest Forum.

Kind regards,
Boris