Form1noを

解決


うめ  2006-06-14 00:55:14  No: 22173  IP: [192.*.*.*]

いつもお世話になってます。
メインフォームのForm1の画面が表示される前に、Form2を表示させ、Form2のOKボタンでForm1画面を表示させ、Form2のキャンセルの場合には、プログラムを終了させるべく下記のようなコードを書きました。
OKボタンの場合には問題ないのですが、キャンセルの場合には一瞬Form1の画面が表示された後にプログラムが終了します。このようなコードの書き方では当り前のような気がしますが、Form2のキャンセルボタンの場合に全くForm1が全く表示させずに終了する方法を教えて欲しいのですが、よろしくお願いします。

procedure Form1.FormCreate(Sender: TObject);
begin
    Form2:= TForm2.Create(Self);
    if Form2.ShowModal=mrOK then begin
          //ある一定の作業をおこなう
    end
    else Application.Terminate;
end;

編集    削除
えーとね  2006-06-14 02:29:06  No: 22174  IP: [192.*.*.*]

> メインフォームのForm1
Form1をメインフォームにしなければよいのでは。

編集    削除
アイマスク  2006-06-14 02:52:32  No: 22175  IP: [192.*.*.*]

procedure Form1.FormCreate(Sender: TObject);
begin
    // ここに Hide, Minimaized, Widthゼロ/Heightゼロ等を
    // 入れてみたらどうでしょう?
    Form2:= TForm2.Create(Self);
    if Form2.ShowModal=mrOK then begin
          //ある一定の作業をおこなう
    end
    else Application.Terminate;
end;

編集    削除
かみづ  2006-06-14 04:27:39  No: 22176  IP: [192.*.*.*]

Application.ShowMainForm := False;
でどうでしょう。

編集    削除
うめ  2006-06-14 19:27:47  No: 22177  IP: [192.*.*.*]

皆様ありがとうございました。
かみづさんの回答でうまくいきました。
本当にありがとうございました。

編集    削除