フォームの OnCretae イベントや OnShow イベントでは、Close メソッドをコールしても、クローズさせることはできません。
原因は、OnCreate イベントの段階では、まだメッセージループが開始されていないからということのようです。
これらのイベント中で、クローズさせたい場合には、下記のように記述します。
PostMessage(Handle, WM_CLOSE, 0, 0);
こうすることで現在実行中のイベント終了後、クローズしてくれるようになります。
ですから厳密にはイベント中ではありません。でもやりたいことはだいたいできると思います。
ボーランドの公式回答では、raise で処理するとのことです。
□CodeGearのホームページ
http://www.codegear.com/
□CodeGearのサポートページ
http://support.codegear.com/
□CodeGearの旧Delphi FAQサイト
http://support.codegear.com/article/37355
□該当の公式回答 - Form の OnCreate の処理中に中断
http://support.codegear.com/article/37355#37355_tocentry18
以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。