General Category > Support Questions

System.StackOverflowException while trying to closed form

(1/1)

thunting:
Hello,
I keep getting an exception when I close any form in my application. Here are the details:

System.StackOverflowException
  HResult=0x800703E9
  Source=<Cannot evaluate the exception source>
  StackTrace:
<Cannot evaluate the exception stack trace>

The call stack trace shows a loop of 521 times while running the stock code listed below. The exception is thrown at My.Application.OpenForms(index).Close().

Thanks for any help


--- Code: ---    '***************************************************************
    '* .NET does not close hidden forms, so do it here
    '* to make sure forms are disposed and drivers close
    '***************************************************************
    Private Sub MainForm_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing

        Dim index As Integer
        While index < My.Application.OpenForms.Count
            If My.Application.OpenForms(index) IsNot Me Then
                My.Application.OpenForms(index).Close()
            End If
            index += 1
        End While

    End Sub

--- End code ---

Archie:
That piece of code should only be in the MainForm or the Mainmenu form, which would be the only form being closed to exit the application.

thunting:
Thanks Archie, that fixed it.

thunting:
I noticed after removing the above listed code from the forms, other than the Main, the application does not close. I realize this is what Archie mentions in his post, but I'm unsure how to fix the application not closing from other forms than the Main. Or is the expected method to remove the "close" button from the title bar of the other forms and force users to return to the Main form to close the application? Any suggestions?

thunting:
Sorry, I found my answer. Thanks for the help

Here is the link for the answer to my question.
https://www.advancedhmi.com/forum/index.php?topic=303.msg1069#msg1069

Navigation

[0] Message Index

Go to full version