掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォームをたくさん使うには? (ID:38807)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>Application.CreateForm(TForm2, Form2); を削除し いちいち自分で消さなくても、プロジェクトのオプションで「自動生成」の対象から外せばいいです。 ついでに ツール>環境オプション>モジュール作成時>自動生成の対象に追加 も確認を。私は滅多に自動生成を使わないのでオフにしています。 > このとき、何度も > Application.CreateForm(TForm2, Form2); > を実行すると、何個もForm2ができます。 CraeteFormの2番目の引数は「作成したフォームを格納する変数」です。 同じ変数を指定したら、当然同じ変数に上書きされます。 (ちなみにForm.Nameはあくまで識別のための文字列で、変数名とは無関係です) いくつ同じフォームを作っても、変数が指しているのは最後に作った一つだけなので、削除できるのもその一つだけです。 (まあ、Screen.Formsからたどれないこともないですが) CreaetFormを使うと自動的にApplicationがOwnerになります。 動的にフォームを作成する場合は、作る人が自分をOwnerにしてCreateで作成するのが普通です。 同じ型のフォームを複数作成するのだったら、配列なりObjectListなり使ってちゃんと管理しないといけませんね。 my_form2[index] := TForm2.Create(Self); ... my_form2[index].Free;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.