Delphi Function 返回值忘记默认赋值的一些问题
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;
这个并不是什么漏洞,只是不好的代码习惯给自己挖的坑。这里只是记录一下。

浙公网安备 33010602011771号