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