标题:关于VB6的指示词用法
只看楼主
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
结帖率:98.24%
已结贴  问题点数:20 回复次数:2 
关于VB6的指示词用法
记得C语言有类似的功能,就是要做相容模式时,可能因为各种OS版本内建的API不同可以进行选择性编译,
依照OS的差别而选择当下要运行的API种类,是叫预编译吗?还是什么名称?

最近发现VB6也有类似功能,但是用法不确定,不知版上大神可否略微说明一下,MSDN上的解释有点看不懂
Thanks...

Example:

#if XXX then
XXX
#else
XXX
#endif

这东西只能写在声明吗?还是在Sub或Function内也能运用?
搜索更多相关主题的帖子: VB6 用法 API 选择 then 
2018-06-14 04:12
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
我只用过 选择性编译 ,对于 是否存在硬件常量没去 研究

工程属性里,有一个 条件编译参数 ,这里面可以定义 选择性编译标志变量
如写一个 dd=1

以下代码,编译和执行都就使用第一段
#If dd = 1 Then
    MsgBox 1
#Else
    MsgBox 2
#End If


如果在正式版里,去掉这个 条件编译参数
那么就会编译第二段。

我这个是用在大工程里,使用条件编译把 debug 部分选择起来。
调试时,debug 部分可见,编译正式版时,这部分不可见。



授人于鱼,不如授人于渔
早已停用QQ了
2018-06-14 09:31
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
查了一下,
这个常数还可以使用代码定义:
#Const 指令

我只找到VB6提供的1组 常量
在 16 位开发平台上,编译常数定义如下:

常数 值 描述
Win16 True 指出开发环境是 16 位。
Win32 False 指出开发环境不是 32 位。

在 32 位开发平台上,编译常数定义如下:
常数 值 描述
Win16 False 指出开发环境不是 16 位。
Win32 True 指出开发环境是 32 位。


授人于鱼,不如授人于渔
早已停用QQ了
2018-06-14 09:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487883-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014618 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved