#1 2022-10-08 09:22:28

edwinsn
Member
Registered: 2010-07-02
Posts: 1,218

SynZip.pas won't compile under 64bit (Delphi XE4)

SynZip.pas used to be compile-able under Delphi XE4 (platform = win64), but it's not now.
I'm using the latest mORMot.

Compilation error:
[dcc64 Error] SynZip.pas(896): E2032 For loop control variable must have ordinal type

The screenshot of Delphi IDE shown the error:
Syn-Zip-TZip-Write-Abstract-Internal-Add-error.png


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

#2 2022-10-08 13:22:50

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,609
Website

Re: SynZip.pas won't compile under 64bit (Delphi XE4)

You are right.

This is a weird Delphi bug/limitation I can't see any reason for.
An Int64 is an ordinal type for sure.

Please try https://synopse.info/fossil/info/109f35e1de

Offline

#3 2022-10-08 14:13:31

edwinsn
Member
Registered: 2010-07-02
Posts: 1,218

Re: SynZip.pas won't compile under 64bit (Delphi XE4)

Thanks, it works now.
Sometimes we have to bear with the Delphi compiler bugs/limitations, unfortunately...


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

Board footer

Powered by FluxBB