query.close;
query.sql.clear;
query.sql.add(sql);
query.open;
running:=true; // 全局布尔变量
while ((not query.eof) and (running)) do
begin
......
处理数据;
query.next;
end;
在退出事件中:
running:=false;
...全文
17922打赏收藏
程序不能退出!太奇怪了!
我在程序中用query操纵数据库,简化代码如下: 在开始按钮中: query.close; query.sql.clear; query.sql.add(sql); query.open; running:=true; // 全局布尔变量 while ((not query.eof) and (running)) do begin ...... 处理数据; query.next; end; 在退出事件中: running:=false;
修改While循环如下就可以了:
first;
while ((not query.eof) do
begin
......
if not timer.enabled then Exit;
query.next;
end;
procedure button1.click;
begin
running:=一个布儿值;
timer.enabled:=running;
end;
query.close;
query.sql.clear;
query.sql.add(sql);
query.open;
running:=true; // 全局布尔变量
while ((not query.eof) and (running)) do
begin
......
处理数据;
Application.ProcessMessage; //增加这一行
query.next;
end;