VB.Net App陷入循环

时间:2011-05-23 19:54:07

标签: vb.net visual-studio-2010

我希望程序结束。 Application.Exit只是让我回到循环中。 已编辑包含代码::     模块模块1

Sub Main()
  Sub1()
  Sub2()
End Sub

Sub1()
EndSub

Sub2()
End Sub

End Module
编辑:它似乎循环回到Sub ChooseDomain2 ..我也包括Sub 1。

Sub ChooseDomain1()
    Dim DomainName As Object
    'Get List of all users on Domain using WinNT 
    DomainName = InputBox(messageOK, Title, defaultValue)
    de.Path = "WinNT://****".Replace("****", DomainName)
    If DomainName Is "" Then ChooseDomain2() Else StoreUserData1()
End Sub


Sub ChooseDomain2()
    MsgBox("Welcome to the Domain Searcher. Click OK to Auto Search for Domain")
    Dim MsgBoxResult As Object = ActiveDirectory.Domain.GetCurrentDomain.Name
    MsgBoxResult = InputBox(messageCan, Title, MsgBoxResult)
    de.Path = "WinNT://*****".Replace("*****", MsgBoxResult)
    StoreUserData1()
End Sub

2 个答案:

答案 0 :(得分:1)

  

当它击中结束模块时,它只从Square 1开始。

模块根本不执行 - 因此它永远不会“命中结束模块”而永远不会从“方块1”开始。模块只是对可以执行的方法进行分组,Main是一种特殊的方法,可以作为应用程序的开始。

也就是说,您的代码保证(!)不会重复执行。此外,代码中的任何位置都没有Application.Exit,因此很难看到您实际执行的内容。不管怎么说,不是你展示的代码。

请注意,VB可能会执行您未编写的代码(代码可以由编译器自动生成,特别是应用程序框架)但这似乎不会发生在您的情况下,并且不应该循环在任何情况下。但同样,根据您提供的信息,这是不可能的。

答案 1 :(得分:0)

Application.Exit不是必需的,因为控制台应用程序在完成执行Sub Main中的最后一行后将退出。如前所述,很可能你有Sub1调用Sub2(或类似的东西),所以在每个sub的开头设置一个断点,以找到连续调用哪一个。然后,您可以在代码中进行搜索,以查找此子调用的位置。