以下は、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 で問題なく動作します。
ありがとう。