フォームの閉じ方

解決


マキ  2002-11-25 16:55:44  No: 2202  IP: 192.*.*.*

こんにちは。マキです。

ほんとに簡単なことかも知れないんですが、
VBで、
Private Sub Command1_Click()
    Form2.Show
    Unload Form1
End Sub
フォーム1のボタンから
フォーム2を開いて
フォーム1を閉じる
は、上記のようなやり方で簡単にできるのですが、

Delphiでは、どうやるのでしょうか?

宜しくお願いします。

編集 削除
にしの  2002-11-25 17:05:47  No: 2203  IP: 192.*.*.*

Showは同じくShowです。
閉じる場合はCloseです。
Unloadと違い、Formオブジェクトの解放はしません。
Formオブジェクトの解放をするのはReleaseですが、自分自身を解放するという概念はDelphiにないと思います。
解放するのはオブジェクトを作成した元でやるべきです。

どうしてもやるならば、
Form2.Show;
Close;
もしくは、
Form2.Show;
Release;
です。
Releaseした後はShowできません。もう一度Createする必要があります。

編集 削除
マキ  2002-11-25 17:15:22  No: 2204  IP: 192.*.*.*

ありがとうございます。

たぶん、Closeだろうと思ってたんですけど、
Closeすると、Form2も消えてしまいます。

何故ですか?

編集 削除
にしの  2002-11-25 17:20:06  No: 2205  IP: 192.*.*.*

メインにしてあるフォームを閉じると終了してしまいますよ。
単に隠したいときは、Hideを使います。
ただし、隠れたまま他のフォームを閉じると、アプリケーションは終了せずに生き残ります。
Hideしたものを再度Showするか、Application.Terminateなどで終了させる必要があります。

編集 削除
マキ  2002-11-27 11:23:58  No: 2206  IP: 192.*.*.*

にしのさん。返事遅くなってすいません。

いろいろとありがとうございました。
うまくいきました。

これからも、宜しくお願いします。

編集 削除
マキ  2002-11-27 11:24:39  No: 2207  IP: 192.*.*.*

1

編集 削除