3

以下は、FireMonkey (Delphi XE3) アプリケーションで発生します。次のコードを見てください (問題を説明するためのダミーの例です)。

procedure TForm1.Button4Click(Sender: TObject);
var
    i: Integer;
begin
    Button4.Enabled:= false; //This should gray-out the button

    // get busy for some time
    for I := 0 to 100000000000 do
    begin

    end;

    Button4.Enabled:= true;
end;

「for」ループで表されるビジー操作に入る前に、Button4 がグレー表示されることを期待していました。それにもかかわらず、そうではありません。

OnClick ハンドラーの実行が終了するまでに、ボタンは Button4.Enabled:= false に「反応していないように見えます」。なんで?

どうすれば回避できますか?

これは VCL で問題なく動作します。

ありがとう。

4

1 に答える 1