在一个按钮事件里同事创建两个以上的线程,就很容易出错。 线程里还得加很多临界(有点影响效率)。 线程里动态创建了idhttp, 调试时都是刚进入, 创建idhttp的时候就出错, 得加临界才让过。

procedure TForm1.Button1Click(Sender: TObject);
var
id:dword;
begin
 CreateThread(nil,0,@xc1,nil,0,ID);
 sleep(1000); //这里试过间隔多长都没用。
 CreateThread(nil,0,@xc1,nil,0,ID);
end; 
在另一个按钮事件里, 设置为点击一次创建一个, 试过快速点击10个, 也不会出错。(最后用timer组件定时创建线程,也不会出错,可以解决上面的问题)procedure TForm1.Button1Click(Sender: TObject);
var
id:dword;
begin
 CreateThread(nil,0,@xc1,nil,0,ID);
end; 
分数给的有点低, 因为用第二种,可以解决自己的问题, 所以只想弄个明白。  因为那该死的困恼我好久, 害我做出的多线程程序, 很少能坚挺半小时。  刚入门只先写些小程序玩玩的。