Weird application exit

A

Anthony

So I've got my application starting by calling Sub Main() which checks for
the existence of files and will load one of two screens depending on if the
files are present or not. The problem is that when it loads the screen, the
application immediately terminates. I'm suspecting that this is because the
end of Sub Main() is reached but I can't be sure. Here is the entire code of
Sub Main(). Can anyone tell me what might be the problem:

Sub Main()
If (Not File.Exists(AppConfFolderPath & "\config.dat")) Then
MsgBox("Entered the first part of the if clause")
ConfigScreen.Show()
MsgBox("The ConfigScreen was just called")
Else
Dim oFile As StreamReader
Try
MsgBox("Entered the try/catch block")
oFile = New StreamReader(AppConfFolderPath & "\config.dat")
Username = oFile.ReadLine
Password = oFile.ReadLine
oFile.Close()
oFile = Nothing
MainForm.Show()
Catch ex As Exception
ConfigScreen.Show()
End Try
End If
End Sub

Note that neither ConfigScreen or MainForm have any exit or hide calls.

Thanks!
Anthony
 
T

Tom Shelton

So I've got my application starting by calling Sub Main() which checks for
the existence of files and will load one of two screens depending on if the
files are present or not. The problem is that when it loads the screen, the
application immediately terminates. I'm suspecting that this is because the
end of Sub Main() is reached but I can't be sure. Here is the entire code of

You are suspecting correctly. You need to use MainForm.ShowDialog or
Application.Run (MainForm). Because, you are not starting a message loop with
show, so the form immediately closes and your application ends.

I personally would call Application.EnableVisualStyles() sometime before you
call show as well - just so your application gets themed correctly :)
 
A

Anthony

Tom Shelton said:
You are suspecting correctly. You need to use MainForm.ShowDialog or
Application.Run (MainForm). Because, you are not starting a message loop
with
show, so the form immediately closes and your application ends.

I personally would call Application.EnableVisualStyles() sometime before
you
call show as well - just so your application gets themed correctly :)

Thanks Tom! Much appreciated.
Hadn't thought about the Application.EnableVisualStyles() call either.

Anthony
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top