我的TADGUIxAsyncExecuteDialog组件的AnyDac Cancel对话框出现问题,基本上我需要用户能够取消查询执行它完美的工作但是设计与程序不匹配我需要的是编辑表格为用户显示我的需要,删除AnyDac的图标更改标题等..任何想法我怎么能这样做?
我正在使用AnyDac 6.0.3 Build 2713 德尔福XE
尝试在互联网上搜索一周,但没有运气:)
答案 0 :(得分:2)
找到解决方法:)
while AnyQuery.Command.State = csExecuting do
begin
Application.ProcessMessages;
//do anything here while query is executing
//the query has to be set to ResourceOptions.CmdExecMode = amAsync
end;
end;
您也可以通过执行以下命令取消查询
AnyQuery.AbortJob(False);
我的代码如下所示:
AnyQuery.Active;
ShowProgressForm:= TShowProgressForm.Create(Application);
ShowProgressForm.Label1.Caption := 'Generating Query Please Wait...';
while AnyQuery.Command.State = csExecuting do
begin
Application.ProcessMessages;
if ShowProgressForm.Cancel then
begin
AnyQuery.AbortJob(False);
ShowProgressForm.Close;
EXIT;
end;
end;
ShowProgressForm.Close;
Cancel
是ShowProgressForm.pas
中声明的全局布尔变量,当您按下Cancel
按钮时,变量变为True
,AbortJob(False)
方法将中止查询执行:)
希望有所帮助:)