2015-11-05 154 views
1

我正在將一些VB6代碼轉換爲VB.Net,但目前實際上無法運行VB6代碼來查看它的功能。GoSub後退出Sub - 退出Sub或從Gosub返回

我在它(VB6,這是)這樣的結構: -

Sub MySub 

    ' Do works 
    If somecondition Then GoSub 10000 
    ' More works 
    Return 

10000 
    ' More works still 
    Exit Sub 

End Sub 

的問題是,這是否從GoSubExit Sub回報,或者從MySub退出?

回答

2

代碼寫在示例中是錯誤的,並會在「沒有Gosub時返回」失敗。

考慮:

Option Explicit 

Private Count As Integer 

Private Sub TestIt() 
    GoSub Something 
    MsgBox "Here" 
    Exit Sub 

Something: 
    If Count > 0 Then Exit Sub 
    Count = Count + 1 
    Return 
End Sub 

Private Sub Main() 
    TestIt 
    TestIt 
    MsgBox Count 
End Sub 

這會彈出一個 「在這裏」,然後是 「1」 的消息框。

Exit Sub退出子程序,它根本就不是Return的同義詞。