【问题标题】:Why Copy function behaves differently in 64-bit Delphi XE3?为什么复制功能在 64 位 Delphi XE3 中表现不同?
【发布时间】:2013-04-22 08:27:07
【问题描述】:

在Delphi XE3 中,Copy 函数可用于字符串类型,带或不带第三个参数。例如,

s := '1234567890';
Writeln(Copy(s, 2));

如果为 32 位 EXE 编译,上面会打印 234567890。但是,当相同的代码编译为 64 位 EXE 时,它不会打印任何内容。

这是为什么?我实际上必须将所有此类代码更改为例如Copy(s, 2, Length(s) - 1) 将 32 位应用程序移植到 64 位时。

【问题讨论】:

标签: delphi copy delphi-xe3


【解决方案1】:

我无法重现您报告的行为。当我在完全更新的 64 位 XE3 中编译该代码时,该代码产生了预期的输出。

我的结论是:

  1. 您尚未完全更新您的 XE3 安装。
  2. 您的代码正在使用您的代码中包含的另一个 Copy 函数。

感谢@bummi 指出QC report 证明第1 项是解释。您的解决方案(显然)是应用更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 2012-09-22
    • 2015-08-14
    • 1970-01-01
    • 2012-05-09
    • 2011-04-23
    • 1970-01-01
    相关资源
    最近更新 更多