简体   繁体   English

ZipForge 和 Delphi Rio 10.3 的问题

[英]Issue with ZipForge and Delphi Rio 10.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.我正在尝试将 Delphi 10.2 Tokyo 的 ZipForge 组件(ComponentAce 没有此组件用于 Delphi Rio 10.3 的正式版本)安装到 Delphi 10.3 Rio 中进行测试,但直到现在,都没有成功。 I did the installation by many ways :我通过多种方式进行了安装:

  • With installer;带安装程序;
  • Opening a Delphi package (compilation error: ZFReg.pas and ZipForge.pas could not compile);打开一个Delphi包(编译错误:ZFReg.pas and ZipForge.pas could not compile);
  • Add the path in Delphi Library.在 Delphi 库中添加路径。

Anyway, I receive this message: "ZipForge.pas could not compile".无论如何,我收到此消息:“ZipForge.pas 无法编译”。

Anyone knows if the ZipForge component for Tokyo is compatible with Rio?有人知道东京的 ZipForge 组件是否与 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.谢谢。

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.当升级组件套件超过其当前支持的 Delphi 版本时,第一步是识别包含文件,这些文件构建了库中使用的定义以应用版本特定的内容。 In ZipForge you'll find UCompilers.inc and ZFVer.inc which need sections added to implement Rio defines.在 ZipForge 中,您会找到 UCompilers.inc 和 ZFVer.inc,它们需要添加部分来实现 Rio 定义。 Here is an example (not yet tested, but should help)这是一个示例(尚未测试,但应该会有所帮助)

UCompilers.inc add above VER320 section UCompilers.inc 添加上面的 VER320 部分

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

ZFVer.inc add below VER320 section ZFVer.inc 在 VER320 部分下面添加

{$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).这对我有用,我现在有 vclZipForgeD26 和 dclZipForgeD26,它们引用了 vclZipForgeD26(编辑 dclZipForgeD26.dpk 中的引用)。

如果您不想加密或解密您的 zip 文件,您可以使用 Delphi 10.2 附带的内容: http: //docwiki.embarcadero.com/Libraries/Tokyo/en/System.Zip.TZipFile或 Delphi 10.3: http:// /docwiki.embarcadero.com/Libraries/Rio/en/System.Zip.TZipFile

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM