0

TADGUIxAsyncExecuteDialog コンポーネントからの AnyDac Cancel ダイアログに問題があります。基本的に、ユーザーがクエリの実行をキャンセルできるようにする必要があります。完全に機能しますが、デザインがプログラムと一致しません。表示されるフォームを編集する必要があります。ユーザーが私のニーズに合わせて、AnyDacのアイコンを削除し、キャプションなどを変更します..どうすればこれを行うことができますか?

AnyDac 6.0.3 ビルド 2713 Delphi XE を使用しています

1 週間、インターネット全体を検索してみましたが、うまくいきません :)

4

1 に答える 1

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と変数になりTrueAbortJob(False)メソッドはクエリの実行を中止します:)

それが役に立てば幸い :)

于 2013-02-28T07:32:19.810 に答える