一个函数返回错误的结果

同事写了这样的一个函数:

Function TForm11.Get(s:string):string;
var
  i:Integer;
begin
  for i:=0 to 9 do
  begin
     result:=result+i.tostring;
  end;
  result:=s+result;
end;

一般情况下,执行结果是正常的。

但是放到线程中,结果就是错误的。

进一步跟踪,原来result没有初始化造成的,改成这样,问题解决:

function TForm11.Get(s:string):string;
var
  i:Integer;
begin
  result:='';//这句解决问题。
  for i:=0 to 9 do
  begin
     result:=result+i.tostring;
  end;
  result:=s+result;
end;
原文地址:https://www.cnblogs.com/kinglandsoft/p/14886653.html