コマンド実行中にローディングインジケーターを表示するには


もんちきTwin Turbo  2015-02-05 09:59:14  No: 47034

何時も参考にさせていただいています。
もんちきTwin  Truboと申します。
皆様にご教授いただきたく、書き込みさせていただきます。

過去のログにも同様の内容がありますが、
delphiのプロジェクトからhishida氏作成のxdoc2txtを呼び出し、
PDF等のファイルから中身を取得し加工する処理を使用しています。
この処理にはMr.XRAY氏作成のCommandLineUnitを使用させていただき、
期待通りの動きが実現できています。

https://www.petitmonte.com/bbs/answers?question_id=8211

ただ、読み込むファイルによっては、コマンドを実行して結果が返るまでに
数十秒の時間を要する場合があり、その間delphiのプロジェクトが
一見フリーズした様に見えてしまう点に困っています。

var
  ACmdStr  : string;

  ACmdStr := 'xdoc2txt '+ ファイルのパス;
  Label1.Caption := '読み込み中';
  Label1.Reflesh;

  richedit1.Text := ACmdLine.GrabStdOutText(ACmdStr);

  Label1.Caption := '読み込み完了';
  Label1.Reflesh;

上記のコードで  ACmdLine.GrabStdOutText(ACmdStr);
を実行している間、ローディング・インジケータを表示する様な処理を
追加することが可能でしょうか?
ACmdLine.GrabStdOutText(ACmdStr);実行間に並行して発生するイベント内で
処理をしようと考えたのですが、その様なイベントが見つけられませんでした。

良い方法がありましたらご教授下さい。よろしくお願いします。
(過去ログも検索しましたが、もし既出の質問でしたら申し訳ありません。)


もんちきTwin Turbo  2015-02-05 10:02:33  No: 47035

書き忘れました。
OSはWindows  Vista  Delphiは7を使用しています。


tor  2015-02-05 18:11:46  No: 47036

リンク先のソースを見たところでは、ヤテフユョフミヘヲサコスヲサヤヲサにしてやれば、固まるように見えるのは回避してくれるようですね。
スススススススススススススススススススススススススススススススススススススススス
ニコ もんちきヤヲサヤ
トコ イーアオッーイッーオィ木ゥ アアコアキコエオ シ  スュアセシ初心者セ シッニセシノヘヌ ス「コッッョョョッッアョ「 ス「ー「セ 書込者ノト:ロ 「「・」 ン
モコ 

様、アドバイスをありがとうございます。

ご指摘の通りです。
私の確認不足でした。
皆様、済みませんでしたィ゜ヲサ゜ゥ


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加