【VB6】检测是否运行于IDE的调试模式下
当你打算使用一些黑科技优化,而它会让IDE崩溃导致调试困难的时候,可以先检测代码是否运行于IDE的调试模式下,然后在调试模式下先不使用黑科技来实现功能,在编译后才使用黑科技。'检测是否在IDE环境下运行
Function IsRunningInVB6IDE() As Boolean
Static Counter As Variant
If IsEmpty(Counter) Then
Counter = 1
Debug.Assert IsRunningInVB6IDE() Or True
Counter = Counter - 1
ElseIf Counter = 1 Then
Counter = 0
End If
IsRunningInVB6IDE = Counter
End Function 用这个还不如直接 App.LogMode 吧,VB6都自带了。有没有能条件编译判断的方式呢? 为啥我觉得黑科技只有在VB6IDE运行的时候才好使?
顺带说句,那个App.LogMode好像是有啥奇怪的用途。
http://www.johnsmiley.com/cis18/smiley022.pdf 美俪女神 发表于 2021-2-23 16:24
为啥我觉得黑科技只有在VB6IDE运行的时候才好使?
顺带说句,那个App.LogMode好像是有啥奇怪的用途。
我用它写自己的UserControl的时候,拿来判断是否处在编辑模式 0xAA55 发表于 2021-2-23 16:54
我用它写自己的UserControl的时候,拿来判断是否处在编辑模式
不有提供专门的 Ambient.UserMode 属性可以判断吗? 系统消息 发表于 2021-2-24 10:08
不有提供专门的 Ambient.UserMode 属性可以判断吗?
虽说用过然后发现不好使
珍惜生命,果断回帖。 推荐这个方案,效率最高,也最稳
不论是App.LogMode还是API都有一些特殊场景有意外发生,有看过老外的讨论帖
Public Function MakeTrue( _
ByRef bValue As Boolean) As Boolean
MakeTrue = True: bValue = True
End Function
使用
Dim bInIDE As Boolean
Debug.Assert MakeTrue(bInIDE) 搬砖工 发表于 2022-9-6 11:43
推荐这个方案,效率最高,也最稳
不论是App.LogMode还是API都有一些特殊场景有意外发生,有看过老外的讨论 ...
我印象里记得确实有这个 MakeTrue 的检测方式,很简洁。
只是多年不用 VB6,再次遇到这个问题的时候,我就用了一个别的办法。 回帖保命 火钳留铭
页:
[1]