【问题标题】:Error in IPPeerClient after updating Indy to 10.6.2 in Delphi XE5在 Delphi XE5 中将 Indy 更新到 10.6.2 后 IPPeerClient 出错
【发布时间】:2020-10-01 12:28:30
【问题描述】:

不得不在 Delphi XE5 中将 Indy 更新到 10.6.2 版后,它在我们的一些项目中返回以下错误,我们还没有找到解决方案。

F2051 Unit IPPeerClient 使用不同版本的 IdTCPConnection.TIdTCPConnection 编译

当我使用TDSRestConnection 组件时出现此错误。

细节,该单元不能被删除。如果我尝试从uses 中删除它,Delphi 会再次添加它,返回错误。

我们尝试了多种方法来解决这个问题,但是在所有尝试中我们都遇到了TDSRestConnection的编译错误,显然它不支持这个版本的Indy。

【问题讨论】:

  • IPPeerClient 单元是 Embarcadero 技术的一部分,包括 DataSnap,它在内部使用 Indy 的私有副本。升级 public 版本的 Indy 不会影响这些技术。如果升级 Indy 会破坏 TDSRestConnection,这听起来像是 Embarcadero 的一个错误。你应该 report this 到 Embarcadero。尽管 XE5 已经很老了,所以除非它也影响现代版本,否则他们不会对此做任何事情。除非已经修好了。您是否可以选择升级到 XE5 以上?

标签: delphi indy10


【解决方案1】:

你是对的,@Remy Lebeau。

我与 Embarcadero 的人员取得了联系,他们提出了以下建议: 如果可能的话,最直接的方法是将项目带到 10.4.x。

或者:

  1. 了解 REST 框架“只是”REST 调用的促进者。正如您所指出的,最后执行调用的是 Indy 的基础架构。 也就是说,您可以直接使用 Indy 建立任何呼叫,请参阅下面的帖子。是的,还有一点工作要做:

https://github.com/zekiguven/Delphi-REST-Client-1-of-2

  1. 使用另一个 REST 框架(几个开源的,便于迁移/重构):

https://github.com/fabriciocolombo/delphi-rest-client-api

https://github.com/viniciussanchez/RESTRequest4Delphi

https://github.com/andrea-magni/MARS(有服务器端和客户端)

【讨论】:

    猜你喜欢
    • 2023-02-07
    • 2023-03-30
    • 2022-10-05
    • 2013-11-13
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多