なんかこんな流れの中ですみませんくだすれな質問です
検索ループ中に Esc が押されたらダイアログを出して OK ならば処理を中止したりしているのですが
if (0>GetKeyState(VK_ESCAPE)) then
if MessageDlg('中止しますか?',mtConfirmation,mbOkCancel,0)=mrOk then exit;
このときキャンセルボタンをクリックするか X ボタンで閉じると意図した動作(処理を続行する)になるのですが
ダイアログを Esc キーで閉じようとするとまたこのダイアログが出てきてしまいます
フラグを立てて
if NowEsc and (0>GetKeyState(VK_ESCAPE)) then
などとしても同様だったりダイアログ自体出なくなったりと泥沼にはまっています
普通はどのような処理を行うものなのでしょうか?