我必须处理一个很长的数据库表,并想出中止此循环的最常见方法。主要代码序列是这样的
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 作为标志支持....但这真的是解决这个问题的最聪明的方法吗?