繁体   English   中英

Delphi迁移快速报告问题

[英]Delphi migration fastreport issue

我在 XE2 中启动并运行了我的 Delphi 应用程序。 我正在使用 IDE 提供的 fastreport。

当我尝试从 Delphi XE2 迁移到 delphi 10.1 时,我遇到了 fastreport 的问题。

[dcc32 Fatal Error] fs_isysrtti.pas(615): F2051 Unit fs_iinterpreter was compiled with a different version of fs_isysrtti.TfsSysFunctions

我在工具->选项中添加了库路径。 这里有什么问题?

错误消息的意思是:当前版本的 fs_isysrtti 与编译 fs_iinterpreter 时的当前版本不匹配。 这可能是因为编译器在它应该找到的副本之前找到了 fs_iinterpreter.dcu 的过期副本。 尝试在您的机器上搜索此 .dcu 文件的版本,并重命名/隐藏除最新版本之外的所有版本(或与编译器尝试将 fs_isysrtti 编译为相同的输出文件夹中的版本,希望是同一件事)。

如果您的系统与我的系统类似(我安装了 XE4 到 D10 Seattle),您会发现这些 dcus 的多个版本(即 fs_iinterpreter.dcu)。

假设这个过程消除了编译器的抱怨,一个接一个地恢复你重命名或隐藏的 dcus,直到问题再次发生,然后你知道哪个副本导致了问题。 然后找出 D10.1 编译器如何设法找到它并阻止它。 可能是编译器搜索路径导致它先于正确位置查找错误位置。

不幸的是,即使您设法找到导致问题的 .dcu,您也可能会发现编译器对另一个快速报告 .dcu 提出了类似的投诉。 如果是,那么您最简单的选择可能只是隐藏/重命名所有 FR 文件并重新安装它。

卸载 FR,再次安装并从 LibD24 文件夹中删除 pas 文件或安装 Delphi 10.1 Berlin 的所有更新并使用最新的 FR 5.5.11

当我尝试将旧的快速报告文件转换为 Fastreport 6.2.1(Delphi 10.3.3 64 位目标)时,我遇到了同样的问题,我在这里找到了一个简单的解决方案:
https://wiert.me/2016/06/30/built-in-delphi-xe6-xe7-and-xe8-fast-reports-have-issue-f2051-unit-fs_iinterpreter-was-compiled-with-a-不同版本的 fs_isysrtti-tfssysfunctions/

如果链接不起作用:您必须从路径“c:\Program Files (x86)\FastReports\LibD26x64”中移动 *.pas 文件(这是我的路径,请检查您的。/fs_isysrtti.pas/ 的位置)

它有效。

暂无
暂无

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

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