在VB和VB.NET程序中判断当前是否运行于开发环境中

在VB和VB.NET程序中判断当前是否运行于开发环境中,第1张

概述'方法一: Private Function IsIDE() As Boolean Static bInIDE As Boolean bInIDE = Not bInIDE If bInIDE Then Debug.Assert IsIDE() Or True IsIDE = Not bInIDE End IfEnd Functio

@H_502_3@'方法一:
Private Function IsIDE() As Boolean    Static bInIDE Boolean    bInIDE = Not bInIDE    If bInIDE Then        DeBUG.Assert IsIDE() Or True        IsIDE = End IfFunctionSub Form_Load()    MsgBox IsIDESub

方法二:

有时我们需要判断正在运行的程序是处于开发环境下(调试模式),还是正常运行状态(已编译后).以前看到个VB6的判断方式:

Public Function IsDeBUGMode() As Boolean

IsDeBUGMode = False

On Error Resume Next

DeBUG.Print 1 / 0

If Err.Number <> 0 Then

IsDeBUGMode = True

End If

End Function


这段代码的原理就在于:在编译之后的应用程序运行时会直接忽略DeBUG.Print这一语句.也就是说,若不产生错误,说明这个语句根本没有执行,因而是在编译后的实际环境中;而如果产生了错误,则说明这个语句正常地执行了,说明是在开发环境中.


如今这个方法用在VB2005中不行了.因为在.NET 2005中,1/0并不会产生错误,而是得到一个输出结果:无穷大.这样的话,在VB2005中必须让DeBUG去Print一个会产生异常的表达式.可以改进如下:

Dim o As Object = nothing

Try

DeBUG.Print(o.name)

Return False

Catch ex As Exception

Return True

End Try

在这段代码中,定义了一个对象变量,并赋值为空,因此,o.name会产生一个System.NullReferenceException的异常

总结

以上是内存溢出为你收集整理的在VB和VB.NET程序中判断当前是否运行于开发环境中全部内容,希望文章能够帮你解决在VB和VB.NET程序中判断当前是否运行于开发环境中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1274330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存