Application won't "unload" when terminated.

R

Robin Tucker

Hiya,

I have a problem with my application. It hangs around in memory after
exiting (and the debugger thinks its still running; I am unable to "break"
or "stop" execution). The main loop below shows my "main" function. When
the main form is closed, this function is exited, so the "hang" occurs in
code outside of my control. I am using some COM objects (such as
IShellFolder) during running of the application, so wonder whether this kind
of thing would make any difference. How to debug such a problem anyway?

Thanks for any tips/pointers you can give me,



Try
' Create splash form.

Dim splashForm As New Splash

' Show it

Dim theResult As DialogResult = splashForm.ShowDialog()

' Success?

If Not theResult = DialogResult.OK Then
Exit Sub
End If

' Create the main form.

Dim mainForm As New MainForm

' Call the Application class Run method

Application.Run(mainForm)

Catch Ex As Exception

' Exception.

s_Log.Append(0, Ex)

End Try
 
R

Robert Jordan

Hi Robin,
Hiya,

I have a problem with my application. It hangs around in memory after
exiting (and the debugger thinks its still running; I am unable to "break"
or "stop" execution). The main loop below shows my "main" function. When
the main form is closed, this function is exited, so the "hang" occurs in
code outside of my control. I am using some COM objects (such as
IShellFolder) during running of the application, so wonder whether this kind
of thing would make any difference. How to debug such a problem anyway?

Try Environment.Exit(0) after Application.Run(mainForm).
Exit kills all threads, while just leaving the app kills
only the main thread.

bye
Rob
 
R

Robin Tucker

I decided to solve this problem with a different approach. I deleted all of
my IShellFolder code and my own Folder and File Viewer and persuaded my
software manager to purchase a component for me that does it without hanging
:)
 

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