我必须处理一个很长的数据库表,并想出中止此循环的最常见方法。主要代码序列是这样的
 procedure TForm.ProcessmyTable(Sender : TObject);
 begin
 ..... 
 myTable.first;
 repeat
  ReadSingleRecordfromTable ( MyTable, aRecord) ;
  ProcessMyRecord(aRecord) ;
  MyTable.next;
 until MYTable.EOF;
 end;
 unit ....   ;
 procedure  ProcessMyRecord(aRecord : TMyDataRecord) ;
 begin
     //   do not have user interface stuff here
     //   Application.Processmessages  will not work here  !!!
     ....  ( long running code sequence) 
 end;
可以做一个计时器并根据计时器打破循环,并以 var 作为标志支持....但这真的是解决这个问题的最聪明的方法吗?