-3

I'm try to install ZipForge component for Delphi 10.2 Tokyo (ComponentAce doesn't have official version for this component for Delphi Rio 10.3) into Delphi 10.3 Rio for tests, but until this moment, unsucessful. I did the installation by many ways :

  • With installer;
  • Opening a Delphi package (compilation error: ZFReg.pas and ZipForge.pas could not compile);
  • Add the path in Delphi Library.

Anyway, I receive this message: "ZipForge.pas could not compile".

Anyone knows if the ZipForge component for Tokyo is compatible with Rio? (wizard installation says yes).

Other suggestions to have successful in this case?

I did had installed this component with success in Delphi Berlin, and works perfectly.

I appreciate so much any help

Thanks.

  • 4
    That's not an error message that I recognise. Is that really what the compiler said? Generally the compiler indicates a line of code and has detail on why compilation failed. – David Heffernan Dec 05 '18 at 20:39
  • @DavidHeffernan That message is just fine. In fact that would be jst the last line of the error log that Delphi compiler will output when it is not able to compile some unit. Why can't it compile that unit is usually mentioned before. So OP should post entire compiler log here for us to se why it fails to compile these units. – SilverWarior Dec 06 '18 at 05:08
  • 1
    I'm not familiar with ZipForge library but does it comes with full source code or does it have some units precompiled. If it does not come with full source code then you will be limited of using it only on Delphi versions to which it was precompiled. Any way the best option to solving your problems would be to contact the library authors in the first place. – SilverWarior Dec 06 '18 at 05:11
  • @DavidHeffernan the error, literaly is: "[dcc32 Fatal Error]:F2063 Could not compile used unit ZipForge.pas". – Gabriel M.T. Dec 06 '18 at 10:15
  • @SilverWarrior you're right. Some versions of ZipForge hasn't full source code. But the same installation method that I have used in Berlin (Professional),I did in Rio (Professional). Yes, I'll send a email for library developer. Thanks. – Gabriel M.T. Dec 06 '18 at 10:20

2 Answers2

3

When upgrading a component suite past its currently supported Delphi version, the first step is to identify include files that construct defines used within the library to apply version specific content. In ZipForge you'll find UCompilers.inc and ZFVer.inc which need sections added to implement Rio defines. Here is an example (not yet tested, but should help)

UCompilers.inc add above VER320 section

{$ifdef VER330}
  {$define COMPILER_10}
  {$define DELPHI}
  {$define DELPHI_10}
  {$define DELPHI_26}
{$endif}

ZFVer.inc add below VER320 section

{$IFDEF VER330} // D 10.3 Rio
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
{$ENDIF}

My current version is certainly older than yours, but this example should help you locate and apply the changes. Also note it's important to change the Package names and references so a conflict with Tokyo (or Berlin) does not occur. This worked for me and I now have vclZipForgeD26 and dclZipForgeD26 which references vclZipForgeD26 (edit the reference in dclZipForgeD26.dpk).

Randy Sill
  • 343
  • 3
  • 9
0

If your not looking to encrypt or decrypt your zip files, you could just use what comes with Delphi 10.2: http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Zip.TZipFile or Delphi 10.3: http://docwiki.embarcadero.com/Libraries/Rio/en/System.Zip.TZipFile

El Diablo
  • 168
  • 1
  • 12