什么时候应该去参加一个模块?什么时候去上课?
什么时候将模块和类加载到内存中?
我可以卸载已加载的模块和类吗?
答案 0 :(得分:4)
静态(BAS)模块在运行期间加载并保持驻留状态。类(CLS)模块提供代码和数据的更动态分配。
类还提供更好的封装,可以创建多个实例,可以持久化,并且与静态分配相比具有许多其他优势。
您可能需要阅读和研究名为"Programming With Objects"的手册中的整个部分。学习版上方的所有合法VB6版本都应该包含这些材料以及随附的MSDN CD中的更多内容。还可以从一些新的和使用过的资料中找到硬拷贝书籍。
答案 1 :(得分:0)
对于每个BAS模块,在应用程序启动时分配所有模块级变量。您无法释放这些变量(尽管您可以将对象引用设置为Nothing,但实际变量仍然存在)。
CLS模块的模块级变量仅在实例化类时分配。在销毁类时,将释放为该类实例分配的所有内存。您可以根据需要创建任意数量的CLS模块实例,每个实例都有自己的一组模块级变量。
在BAS模块中,声明为Public的变量范围对应用程序是全局的。但是,在CLS模块中,如果您对该类的实例有引用(在变量成为公共属性的幕后),则只能访问Public变量。
通常,您希望从任何模块访问的所有变量和例程都应放入BAS模块中。