小弟做的程序里面有一个循环,大致从0到3000的样子。就是向数据库中 存取数据,在一个循环里面。
部分代码如下:for i:=0 to clb_Station.Items.Count-1 do
    begin
      if clb_Station.Checked[i] then
       begin
         s:=copy(clb_Station.Items[i],0,8);
         with DM.ADO_zhk do
           begin
             Close;
             SQL.Clear;
             SQL.Text:='select * from st_river_f'; 
             Open;
             first;
              while not Eof do
               begin
                 {do something}
                Next;
               end;
           end;
       end;
    end;
当程序进入这个循环的时候,会造成内存占有率大大增加。整个界面甚至会停止响应,给人造成死程序的印象,但当循环结束后一切又恢复正常。
  所以我想用线程的方法来解决这个问题,使程序能以线程的方式运行,不会出现这种死程序的现象。
  但现在一点头绪都没有,哪位大哥能帮我点拨一下呢?万分感谢!