标题:请问vb6 类模块 里的 sub 加Public有什么用处
只看楼主
tansuoufo
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-1-8
结帖率:33.33%
已结贴  问题点数:20 回复次数:5 
请问vb6 类模块 里的 sub 加Public有什么用处
请问vb 类模块 里的 sub 加Public有什么用处?
function 或 sub 前面加不加Public 效果好像没差别?
不知道做什么用的?
搜索更多相关主题的帖子: function 做什么 
2017-01-08 14:52
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
得分:10 
Pubilc Sub 是 公用的
Private Sub 是 私用的

我一般喜欢在Sub前面加Private以声明改Sub只在本Form生效,至于Pubilc是说该Sub全工程有效,在多窗口调用里很好用。
不加Sub的话就是缺省,似乎是当做Private处理的。
Function是函数,类似于Sub,反正我的程序里面是吧Function和Sub当做一类玩意的,应为Sub也能返回值。
我记得Moudle 模块 里面可以加Function,那么这里就必须写Pubilc了

类似的 在 模块 里声明全工程变量必须按如下格式
Pubilc XX as Integer/String/Long 等
这样的话声明的XX就能在全工程调用了,而不是像在每个Form的通用里声明的一样只能在本Form里调用

特地声明:我的所有知识都是自学的,而非系统的学习,所有上述都是根据我的见解,如果有别的人回复了和我不同,请忽略我的回答。

[此贴子已经被作者于2017-1-8 15:01编辑过]


编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2017-01-08 14:58
tansuoufo
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-1-8
得分:0 
回复 2楼 renxiaoyao36
谢谢您的回答。
那些变量加Public我知道用处
但是在模块或类模块里的函数或过程加与不加,我试了好像form都可以跨过去调用并正确执行
不是说默认只能自己用的吗?

[此贴子已经被作者于2017-1-8 15:13编辑过]

2017-01-08 15:10
tansuoufo
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-1-8
得分:0 
我试了加Private,确实有区别,那么答案找到了,因为默认不加就是Pubilc
2017-01-08 15:17
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
得分:0 
回复 4楼 tansuoufo
我还真不知道默认是Pubilc,一直以为默认是Private,这反而还要谢谢你呢,长知识了

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2017-01-08 15:57
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:10 
默认不记得了。

窗体里用 PUBLIC
如果是变量,就相当于给这个窗体增加一个属性,不过这个属性窗体没有事件产生,需要自己掌控。
如果是过程,就相当于给这个窗体增加一个方法。

举个例子,MDI 工程中,有 三个子窗体,这三个子窗体数据显示和组织都不相同,
其中二个子窗体均需要提供打印功能。从MDI菜单里怎么调用打印功能。
我用的方法是:
1、每个窗体变量了一个全局变量和一个全局过程。
如,变量名:IsPrint   值 =0 或 1
在 load 窗体时,直接写好值。
过程名: Public sub FromPrint()
2、调用时:
if ActiveForm.isprint = 1 then     '如果窗体允许打印
   call ActiveForm.Fromprint       '那么调用打印
end if

--------------------
还有一种更简单粗暴的
不定义这个变量,
每个子窗体都定义这个过程,如果这个窗体不提供打印,那么这个过程的内容就是空白或就是一句提示。
调用时,就直接调用,不用判断了。

==============


授人于鱼,不如授人于渔
早已停用QQ了
2017-01-08 17:40



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




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

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