フォームを自動作成するか、オンデマンドで作成するかを決定する必要があります。また、どのフォームがメインになるかを決定する必要があります。
コーナーの質問は、同じクラスの複数のフォームを開くことができるかどうかです。たとえば、「ファイル ビューアー」フォームを作成した場合、異なるファイルに対して複数のフォームを開くことが理にかなっている場合があります。
自動作成フォームの場合:
1.1プロジェクトソース(.dprファイル、プロジェクト/ソースの表示メニュー)を開くか、フォームセクションでプロジェクトオプションを開きます。MenuForm を作成リストの 1 番目 (一番上) に設定します。
1.2 他のすべてのフォームに.visible
プロパティがあることを確認するfalse
2: プログラムのロジックに応じて、Form1.Show または Form1.ShowModal を使用する必要があります。
3: Self.Close または Self.Hide または Self.Visible := false。ベター 1: http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.Close
これらのフォームの OnClose イベントを使用する場合 - 閉じるためのデフォルトの caHide アクションを変更していないことを確認してください
手動で存続期間を制御するフォームの場合:
1: プロジェクト ソース (.dpr ファイル、[プロジェクト]/[ソースの表示] メニュー) を開くか、[フォーム] セクションで [プロジェクト] オプションを開きます。MenuForm を作成した唯一のものに設定します。
2.1. some-temporary-variable := TFormClass.Create(Application);
2.2. some-temporary-variable
次に、開くファイル名やデータ ソースなどのいくつかのプロパティを微調整します。
2.3. 次に、some-temporary-variable.Show
またはを行いますsome-temporary-variable.ShowModal
。
注意: ShowModal を使用すると、アプリケーションがフリーズする可能性がありますTFormClass.Create(SomeAnotherForm)
。
3: Self.Release http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.Release
または Self.Close をcaFree
実行し、OnClose イベントでアクションを指定します - http://docwiki.embarcadero.com/Libraries /XE2/en/Vcl.Forms.TCustomForm.OnClose