2

関数を呼び出して「実行」すると (最大 3 秒かかる場合があります - API サーバーからデータを取得する更新関数)、メイン フォームの上のオーバーレイとして、loadingform を Ajax Loading Indicator として表示したいと思います。

私の以前の試みはすべて失敗しました。Main が作成された直後に表示される Create the LoadingForm を変更しようとしました。次に、LoadingForm.Show/Showmodal を試しました。モーダルシーケンスでは停止し、フォームを閉じてウィンドウが閉じないことを示すときにのみ続行します.

また、フォームが開かれたのにgifが表示されないという状況もありました。本来あるべき場所が白く、白のままでした-画像なし、アニメーションなし

ここに画像の説明を入力

アイデアはありますか?

4

2 に答える 2

0

ダイアログ フォーム設定を作成します。

BorderIcons = []
BorderStyle = bsDialog
FormStyle = fsStayOnTop
Position = poScreenCenter

関数を呼び出すときのメインフォームに次のように記述します。

procedure TFormMain.Button1Click(Sender: TObject);
begin
    Enabled:=false;
    try
        FormDialog.Show;
        FormDialog.Refresh;

        MyLongRunProcedure; // calls your procedure here

    finally        
        Enabled:=true;
        FormDialog.Close;
    end;
end;

それはうまくいくはずです..

于 2016-02-26T15:43:10.047 に答える