【问题标题】:I need to convert some Delphi 7 code to Seattle, but I cannot use the predefined function result "Result"我需要将一些 Delphi 7 代码转换为西雅图,但我不能使用预定义的函数结果“结果”
【发布时间】:2019-07-17 02:52:20
【问题描述】:

这适用于 Delphi 7:

Function T(Noegle : String) : String;
Begin
  Result:= Noegle;
End;

但在西雅图失败并显示此错误消息:

[dcc32 错误] Tekster.pas(34): E2003 Undeclared identifier: 'Result'

我认为默认情况下它是禁用的,因为我在这个站点上的代码 sn-ps 中看到了 Return,所以我认为它必须工作,但我无法找到我打开和关闭它的位置。

Result 用于旧代码中的数百个函数,所以如果有人能告诉我如何启用它,我会很高兴。

【问题讨论】:

  • 什么是Sierra
  • 我也不知道这个 Sierra 是什么。它使用 Delphi 作为编程语言吗?顺便说一句,您在解释中提到了Return 而不是Result。也许这个 Sierra 使用 Return 而不是 Result
  • 对不起,我指的是西雅图。西雅图是Delphi 10。结果是一个自动定义的变量,你范用来返回函数结果。就像这里描述的:delphibasics.co.uk/RTL.asp?Name=result
  • 是的,我很清楚 Delphi 和 Result 是什么;我不知道 Sierra 到底是什么,因为它不是 Delphi 版本,Google 或这个网站对此一无所知。如果您一开始就正确地将其标识为 Seattle,并添加了适当的 delphidelphi-10-seattle 标签,那么您将在昨晚收到这篇文章,而不必等待近 24 小时。请以后更清楚。谢谢。
  • 谢谢肯,它现在正在工作。我不知道如何给答案打分,但我只能给它1分。希望这是正确的方法,但如果不是,请告诉我是什么。

标签: function delphi return return-type delphi-10-seattle


【解决方案1】:

启用扩展语法后,自动Result 变量可用。为此,请使用 IDE 主菜单中的 Project->Options,然后转到 Delphi Compiler->Compiling->Syntax options,并确保 Extended检查语法

以下对话是从柏林 10.1 中捕获的,但应该与西雅图 10 中的对话几乎相同:

【讨论】:

  • 可能值得注意的是,通常情况下,全新的 Delphi 安装默认启用此功能。不知何故,它可能被用户禁用了。我用过很多 Delphi 版本,我写的每个函数都使用Result
猜你喜欢
  • 2021-03-31
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 2021-08-19
  • 2017-12-07
  • 1970-01-01
  • 2019-06-04
  • 1970-01-01
相关资源
最近更新 更多