delphi – 一个函数中第一行定义的结果变量?

前端之家收集整理的这篇文章主要介绍了delphi – 一个函数中第一行定义的结果变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要澄清这种情况.

根据我的测试,Result变量定义为:
Boolean = False,Integer = 0,String =”,Object = nil等从第一行.
但我从来没有看到官方的参考.
这也是有道理的,因为这给了提示.

[DCC Warning] Unit1.pas(35):H2077赋值给“TForm1.Test”的值从未使用过

function TForm1.Test: Boolean;
begin
  Result := False;
  // Some arbitrary code here

  Result := True;
end;

但是如果我注释掉第一行,并且在最后一行之前有异常,会发生什么?结果= False?

如果Result未定义,这意味着我必须通过定义结果来启动每个函数,以防以后出现异常.这对我来说没有意义.

解决方法

否,结果没有(保证)默认值.它是未定义的,除非你给它一个价值.这是 the documentation所暗示的

If the function exits without assigning a value to Result or the
function name,then the function’s return value is undefined.

我刚刚试过

function test: integer;
begin
  ShowMessage(IntToStr(result));
end;

并收到一条消息与文本35531136.

原文链接:https://www.f2er.com/delphi/101444.html

猜你在找的Delphi相关文章