僕は、ずっと以前から、VB6 のプロジェクトのスタートアップは、フォームにはせずに、必ず Sub Main にしています。
そして、Main.Bas というモジュールのファイルを作成して、ここに以下のように記述します。
Sub Main()
Dim F As New MainForm ←デフォルトでは Form1 になっているので変更する。
Call F.Show
End Sub
これは、恐らく「標準な Exe」を作ろうとしてプロジェクトを新規に作成した直後の動作と同じになる筈です。
しかし、このように書くと、アプリケーションの動作が MainForm に準じる必要が無くなります。
例えば、認証ウィンドウを設ける場合なら、以下のように書けます。
Sub Main()
Dim C as New CertificationForm
If (C.IsSucceed()) Then
Dim F As New MainForm
Call F.Show
End If
End Sub
また、時間のかかる処理は、次のように書くことができます。
Sub Main()
Dim S as New SplashForm
If (C.IsSucceed()) Then
Call S.OpenWindow
Call 時間のかかる処理
Call S.CloseWindow
Dim F As New MainForm
Call F.Show
End If
End Sub
こう書くようにすると、Form の Load でいろんなことをしようとして失敗する、と言うことも無くなりますよ。
こんな素晴らしい「Sub Main」に対して、最後に、ずっと思ってきた一言を叫びます。(恒例ですがw)
Sub Main って表現、何か変
ところで、上記のサンプルは、あくまでもVB6用です。
VB.NET では、 Application.Run(new MainForm()); のようにします。
詳しくは、http://blogs.wankuma.com/rti/archive/2006/12/26/53738.aspx の辺りとか、MSDN を参考にして下さい。