同事写了这样的一个函数:
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;