14
A
回答
6
這是因爲它依賴於已經設置爲「On錯誤繼續下一步」做一個稍微哈克的方式,但你可以做這樣的事情:
On Error Resume Next
Dim objRef1, objRef2
Set objRef1 = GetRef("DoStuff1")
If objRef1 Is Nothing Then
Call objRef1
Else
MsgBox "DoStuff1 is not defined!"
End If
Set objRef2 = GetRef("DoStuff2")
If objRef2 Is Nothing Then
MsgBox "DoStuff2 is not defined!"
Else
Call objRef2
End If
Sub DoStuff1
MsgBox "DoStuff1!"
End Sub
到GetRef呼叫將產生,如果異常你試圖得到一個指針的子或函數不存在(DoStuff2就是這種情況)。然後您可以檢查參考是否按預期設置。
15
這裏是我的解決方案,它在相同的原理工作,但哈克岬是相當自足:
Function FunctionExists(func_name)
FunctionExists = False
On Error Resume Next
Dim f : Set f = GetRef(func_name)
If Err.number = 0 Then
FunctionExists = True
End If
On Error GoTo 0
End Function
相關問題
- 1. 有沒有辦法來檢查變量是否在Java中定義?
- 2. 有沒有辦法來檢查bean是否在spring上下文中定義?
- 3. 有沒有辦法來檢查一個JavaScript函數是否接受回調?
- 4. 有沒有辦法檢查符號是否被引用?
- 5. 有沒有辦法檢查反應組件是否被卸載?
- 6. 有沒有辦法檢查RVO是否被應用?
- 7. 有沒有辦法檢查performSelector:withObject:afterDelay:是否已被註冊?
- 8. 有沒有辦法檢測對象是否被鎖定?
- 9. 有沒有什麼辦法來檢查類的屬性在C#
- 10. 有沒有辦法檢測自定義模塊是否存在?
- 11. 有什麼辦法檢查Silverlight中的DataGrid是否有焦點?
- 12. 有沒有辦法來檢查一個本地的JavaScript函數是否被猴子修補?
- 13. 有沒有辦法檢查標籤是否已經在LaTeX中定義?
- 14. 有沒有辦法檢測通知欄是否已被清除?
- 15. 有沒有辦法來檢查實體框架是否開始獲取數據?
- 16. 有沒有辦法檢查一個函數是否正在jQuery中運行?
- 17. 有沒有辦法檢查(文件)句柄是否有效?
- 18. 有什麼辦法來檢查複選框是否被用戶實際檢查過
- 19. 有沒有辦法來檢查一個元素是否有鼠標懸停?
- 20. 有什麼辦法檢查指針是否懸空?
- 21. 有沒有什麼辦法來檢測Android碎片中的userInterations?
- 22. 有沒有辦法檢查推送通知設置是否被請求?
- 23. 有沒有辦法檢查一個TextView的文本是否被截斷
- 24. 有沒有辦法檢查Linq to SQL實體是否被修改?
- 25. 有沒有辦法確定頁面是否被壓縮?
- 26. 有沒有辦法確定任務是否被重新分配?
- 27. 有什麼辦法來檢查一個特定的元素是否被點擊過?
- 28. 有沒有辦法檢查RDP連接是否可能?
- 29. 有沒有辦法檢查代碼是否在TransactionScope中執行?
- 30. 有沒有辦法檢查我的代理是否在線?
否則你將嘗試調用該函數後檢查Err.Number的。但是那麼你調用的函數可能被定義,被調用,但是成爲錯誤的來源,我猜這不是你想要的。 – Xiaofu 2009-05-28 15:32:26
這是有效的。謝謝! – 2009-05-28 15:36:05