找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 4655|回复: 10

【VB6】检测是否运行于IDE的调试模式下

[复制链接]
发表于 2021-2-22 17:52:49 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
当你打算使用一些黑科技优化,而它会让IDE崩溃导致调试困难的时候,可以先检测代码是否运行于IDE的调试模式下,然后在调试模式下先不使用黑科技来实现功能,在编译后才使用黑科技。

  1. '检测是否在IDE环境下运行
  2. Function IsRunningInVB6IDE() As Boolean
  3. Static Counter As Variant
  4. If IsEmpty(Counter) Then
  5.     Counter = 1
  6.     Debug.Assert IsRunningInVB6IDE() Or True
  7.     Counter = Counter - 1
  8. ElseIf Counter = 1 Then
  9.     Counter = 0
  10. End If
  11. IsRunningInVB6IDE = Counter
  12. End Function
复制代码
回复

使用道具 举报

发表于 2021-2-23 10:05:02 | 显示全部楼层
用这个还不如直接 App.LogMode 吧,VB6都自带了。有没有能条件编译判断的方式呢?
回复 赞! 靠!

使用道具 举报

发表于 2021-2-23 16:24:25 | 显示全部楼层
为啥我觉得黑科技只有在VB6IDE运行的时候才好使?

顺带说句,那个App.LogMode好像是有啥奇怪的用途。
http://www.johnsmiley.com/cis18/smiley022.pdf
回复 赞! 靠!

使用道具 举报

 楼主| 发表于 2021-2-23 16:54:07 | 显示全部楼层
美俪女神 发表于 2021-2-23 16:24
为啥我觉得黑科技只有在VB6IDE运行的时候才好使?

顺带说句,那个App.LogMode好像是有啥奇怪的用途。

我用它写自己的UserControl的时候,拿来判断是否处在编辑模式
回复 赞! 靠!

使用道具 举报

发表于 2021-2-24 10:08:57 | 显示全部楼层
0xAA55 发表于 2021-2-23 16:54
我用它写自己的UserControl的时候,拿来判断是否处在编辑模式

不有提供专门的 Ambient.UserMode 属性可以判断吗?
回复 赞! 靠!

使用道具 举报

 楼主| 发表于 2021-2-24 23:42:29 | 显示全部楼层
系统消息 发表于 2021-2-24 10:08
不有提供专门的 Ambient.UserMode 属性可以判断吗?

虽说用过然后发现不好使
回复 赞! 靠!

使用道具 举报

发表于 2022-5-17 11:18:05 | 显示全部楼层

珍惜生命,果断回帖。
回复 赞! 靠!

使用道具 举报

发表于 2022-9-6 11:43:55 | 显示全部楼层
推荐这个方案,效率最高,也最稳
不论是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 12:23:40 | 显示全部楼层
搬砖工 发表于 2022-9-6 11:43
推荐这个方案,效率最高,也最稳
不论是App.LogMode还是API都有一些特殊场景有意外发生,有看过老外的讨论 ...

我印象里记得确实有这个 MakeTrue 的检测方式,很简洁。

只是多年不用 VB6,再次遇到这个问题的时候,我就用了一个别的办法。
回复 赞! 靠!

使用道具 举报

发表于 2022-9-14 20:57:00 | 显示全部楼层
回帖保命
回复

使用道具 举报

发表于 2022-11-18 16:14:38 | 显示全部楼层
火钳留铭
回复

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-22 05:55 , Processed in 0.037078 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表