我在主form中引用了一个线程单元,在线程中的Excute中做了一个简单的计算:
procedure TTestThread.Execute;
var
  i , j: Integer;
begin
  { Place thread code here }
  j := 1 ;
  for i:=1 to 20000000 do begin
    //Inc( Answer, Round(Abs(Sin(Sqrt(i)))));
    Answer := j ;
    Inc( j ) ;
    windows.Sleep(10);
  end;
end;最后在form的标签上显示出Answer的值,当点击安钮达5次就终止线程。
当我继续点击安钮的时候,标签上显示出的值就呈无规则状,由此可以推断出:
  分配给现程的内存资源已经被释放掉,以前存放变量Answer的内存被做他用。
不知道我分析的是否正确,还请高人给以证实。