Quest さん
こんにちは。
細川です。
FMX の話だと思いますが、基本的には Close で大丈夫です。
ご存じの通り VCL の TCustomForm.Release は削除にマークを付けて後で消す機能です。
例えば Form に乗っている TButton.OnClick の中から Release を呼んだ場合、
OnClick を処理している最中に Form が削除されず、抜けた後で削除されます。
FireMonkey の場合、Close を呼ぶと中(ReleaseForm 手続き)でタイミングをずらし
て解放してくれます。
ただし、Close なので、メインフォームで無い場合は OnClose で Action に
TCloseAction.caFree を渡してあげる必要があります(デフォルト値は
TCloseACtion.caHide)。
もしも、それが面倒な場合は自分でやってもいいと思います。
例えばこんな感じです(こっちのほうが面倒ですが)。
procedure TForm1.Button1Click(Sender: TObject);
begin
TThread.ForceQueue(
TThread.Current,
procedure
begin
DisposeOf;
end
);
end;
Regards,
HOSOKAWA Jun
Application Division 3 Manager
embarcadero MVP for Delphi
[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970
---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------
MLホームページ:
https://www.freeml.com/delphi-users
----------------------------------------------------------------------
無料ゲームから本格的に楽しめるゲームまで、
インストール不要でスグに遊べます♪
今すぐ遊ぶ ⇒
http://user.gesoten.com/cid/m/378?z=0&g=0