Delphi Function 返回值忘记默认赋值的一些问题

2021-05-15 23:28

阅读:431

标签:应该   line   ima   load   name   begin   返回   问题   png   

Delphi function 函数的返回值,也就是Result,建议直接在函数开始就做一些初始化

例如下面的代码

procedure TForm1.FormCreate(Sender: TObject);
var
  i:Integer;
  str:string;
begin
  Memo1.Lines.Clear;
  for I:=0 to 2 do
   begin
     str:=GetindexName(I);
    Memo1.Lines.Add(IntToStr(I)+‘:‘+str);
   end;
end;

function TForm1.GetindexName(index: integer): String;
begin
if index=0 then
Result:=‘传入了0‘
else if index=1 then
Result:=‘传入了1‘;
end;

  我以为的结果是

技术图片

 

 事实上的结果是

技术图片

 

 正确的代码应该是在GetindexName函数的开始时做一个初始化

function TForm1.GetindexName(index: integer): String;
begin
 Result:=‘‘; //新增的代码
 if index=0 then
 Result:=‘传入了0‘
 else if index=1 then
 Result:=‘传入了1‘;
end;

  这个并不是什么漏洞,只是不好的代码习惯给自己挖的坑。这里只是记录一下。

Delphi Function 返回值忘记默认赋值的一些问题

标签:应该   line   ima   load   name   begin   返回   问题   png   

原文地址:https://www.cnblogs.com/wuxi15/p/14642171.html


评论


亲,登录后才可以留言!