AnyDac表单设计,编程查询取消对话框

时间:2013-02-25 13:20:21

标签: delphi delphi-xe anydac

我的TADGUIxAsyncExecuteDialog组件的AnyDac Cancel对话框出现问题,基本上我需要用户能够取消查询执行它完美的工作但是设计与程序不匹配我需要的是编辑表格为用户显示我的需要,删除AnyDac的图标更改标题等..任何想法我怎么能这样做?

我正在使用AnyDac 6.0.3 Build 2713 德尔福XE

尝试在互联网上搜索一周,但没有运气:)

1 个答案:

答案 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;

CancelShowProgressForm.pas中声明的全局布尔变量,当您按下Cancel按钮时,变量变为TrueAbortJob(False)方法将中止查询执行:)

希望有所帮助:)