【问题标题】:How old is Indy that shipped with Delphi XE4?Delphi XE4 附带的 Indy 有多大?
【发布时间】:2014-06-12 20:30:17
【问题描述】:

我在使用 XE4 64 位发送 SMTP 消息时遇到了一些问题,而且它似乎发生在 Indy 代码的深处。

这是 XE4 附带的标准 Indy 代码,但是当我查看每个文件顶部的标题时,似乎它们自 2005 年以来就没有更新过!显然这里发生了一些奇怪的事情。

XE4 附带的 Indy 版本有多旧,从那时起在 Win64 兼容性方面是否有显着改进?

【问题讨论】:

    标签: delphi indy delphi-xe4


    【解决方案1】:

    XE4 附带的版本是 10.6.0.4975。

    ShowMessage('Indy version: ' + IdHTTP1.Version);
    

    来自 indy 更改日志:

    Indy 10.6.0 - XE4 Release
    ------------------------------------------------------------------------
    r4986 | Indy-RemyLebeau | 2013-04-14 19:08:12 +0200 (Sun, 14 Apr 2013) | 1 line
    

    所以它是从 2013 年 4 月中旬开始的。

    最新版本是 10.6.0.5152。我在更改日志中没有看到任何关于 64 位的内容,但很多 cmets 非常广泛(例如“来自 Jose Antonio Sanchez Lazaro 的补丁”)

    http://indy.fulgan.com/indy10.changelog.txt

    【讨论】:

    • 如果您查看 Indy 的 SVN,XE4 版本使用 r4989 标记。 XE4 版本中有一些签入。 r4986 可能是第一次签到,但不是最后一次。
    【解决方案2】:

    您在每个源文件顶部看到的 cmets 是 Indy 多年前停止使用的另一个版本控制 (TeamCoherence) 的残余。 Indy 现在使用 SVN,它不会在源代码中存储修订历史。

    至少从 XE2 开始,Indy 就支持 64 位,当时 64 位首次被添加到 Delphi(可能更早,因为 FreePascal 支持)。

    【讨论】:

    • 啊,这更有意义。您是否知道在以 64 位发送 SMTP 消息时会导致 Indy 工作线程中的访问冲突的任何错误?
    • 不,我不是。如果您遇到问题,请发布一个新问题。
    • 没关系。我只是设法找到了问题的根源,它就在我们的代码中。显然,自从最初编写这段代码以来,一些 Indy 事件处理程序的参数列表发生了变化,直到我试图以此构建一个最小的重现案例之前,没有人注意到。不知道为什么它曾经在 32 位下工作,但是哦,好吧......
    猜你喜欢
    • 2021-11-22
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多