待ち時間にメッセージを出すには


勉強中です  2004-01-13 17:35:17  No: 6689  IP: 192.*.*.*

当方AS400を使用してDELPHIを勉強中なのですが、
AS400等々に関わらず、なんらかの時間待ち(SQLを投げて戻ってくるまでとか、DBへの接続への時間待ち等々)に”ただ今処理中です!!”などの
メッセージを出したいのですが、どのようにすればよろしいでしょうか?

ちなみに、下記にソースを記しますが、どうもうまくいきません。
お教えいただければ幸いです。

begin
ここに、メッセージを出し、Apprication.Runの前に消したいと思い
Application.Initialize;
Application.CreateForm(TmsgForm1, msgForm1);
-----以下本来のログイン画面------
Application.Initialize;      
--ここでDBの接続に行きます。
Application.CreateForm(TfrmLOGIN, frmLOGIN);
---ここで、(ログイン画面を表示する寸前にメッセージを消去したいので
msgForm1.Hide;
---以下でログイン画面を表示したいので
Apprication.Run

end;
としましたがうまくいきません。

よろしくお願いいたします。

編集 削除
ooo  2004-01-13 19:37:29  No: 6690  IP: 192.*.*.*

処理を始める際にメッセージを表示
処理をする
処理が完了した時点でメッセージを消す
てな感じで
frmLOGINのOnCreateで隠すというのはどうでしょうか?

編集 削除
jok  2004-01-13 21:14:53  No: 6691  IP: 192.*.*.*

Application.Run が実行されるまで、メッセージポンプがまわってませんよ。
イベントドリブンの仕組みを基礎からどうぞ。

編集 削除
えりか  2004-07-09 15:10:43  No: 6692  IP: 192.*.*.*

質問された方とまったく同じようようなことで悩んでいるのですが
初心者なもので、ご教授お願いします。

編集 削除
HOta  2004-07-11 16:16:10  No: 6693  IP: 192.*.*.*

表示するダイアログを作っておいて、
このダイアログはProjectの自動生成で作成しておきます。
表示したい時にStayonTopで表示して、
終了時にHideします。

編集 削除
えりか  2004-07-12 10:10:27  No: 6694  IP: 192.*.*.*

HOtaさん大変ありがとうございます。
具体的なサンプルがあればお願いします。
初心者なものでいろいろためしけいるのですが、
うまくいきません。
よろしくおねがいします。

編集 削除
えりか  2004-07-12 12:05:19  No: 6695  IP: 192.*.*.*

印刷プログラムが終了した時点でMessageDialog
を消したいので次のようなプログラムを作りました。
PT := TPrintList.Create(False, Dlg);
のところでエラーがでるのですが、
ご教授おねがいします。

var
>  Dlg: TForm;
> begin
>  Dlg := CreateMessageDialog('印刷中です。',mtCustom, [mbCancel]);
>
>  // コンストラクタでダイアログを受け取れるようにする
>  PT := TPrintList.Create(False, Dlg);
>
>  case Dlg.ShowModal of
>    mrOk:
>    begin
>      // 印刷が正常終了した場合の処理
>    end;
>    mrCancel:
>    begin
>      // キャンセルされた場合の処理
>    end;
>  end;
> end;

編集 削除
ぶな  2004-07-12 12:53:52  No: 6696  IP: 192.*.*.*

スプラッシュウィンドウの事だと思います
Demos\Db\IbMastApp\mastapp.dpr
で、どうでしょうか?
バージョンで違いが有るかも知れません

編集 削除
HOta  2004-07-13 13:15:51  No: 6697  IP: 192.*.*.*

PTはどこで宣言していますか?

編集 削除