当前位置: 首页 > news >正文

vb 模块和作用域的关系

模块

在VB中有三种类型的模块,分别是窗体模块、标准模块和类模块。

窗体模块

窗体模块中包含了窗体以及窗体中所有控件的事件过程,文件扩展名为(*.frm),窗体文件中不仅包含窗体对象的外观设计,也包含窗体模块(Form Module)。

标准模块

在一个工程中,某些代码要被多个窗体或设计器共同使用,就可以将这些代码存储在一个标准模块(Standard Module)中,其文件扩展名为(*.bas)。标准模块中只含有代码。程序一运行就加载模块,它的函数和变量是全局的,随时可以调用。

类模块

如果要创建自己定义的对象,就要首先创建一个类模块(Class Module)。类模块中包含了自定义的属性、方法和事件的定义及其实现。它是数据和代码的结合体,可以将其理解为是没有物理表现的控件。其文件扩展名为(*.cls)。类模块就是一个类,要实例化对象才能调用它的函数。

作用域

一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

变量的3种作用域:

1、单个过程:在一个过程中声明的变量,作用域只包含本过程,也可以称作 过程变量。

2、单个模块:在模块的第一个过程之前声明的变量,作用域包含本模块,也可以称作 模块变量。

3、所有模块:在任意一个模块的第一个过程之前使用Public声明的变量,作用域包含本工作簿的所有模块,也可以称作为 公共变量。

为什么窗体中无论是public,还是private都只在窗体内有效,而标准模块则不同

答案来源于标准模块的作用

简单的应用程序可以只有一个窗体,应用程序的所有代码都驻留在窗体模块中。而当应用程序庞大复杂时,就要另加窗体。最终可能会发现在几个窗体中都有要执行的公共代码。因为不希望在两个窗体中重复代码,所以要创建一个独立模块,它包含实现公共代码的过程。独立模块应为标准模块。此后可以建立一个包含共享过程的模块库。

相关文章:

vb 模块和作用域的关系

模块在VB中有三种类型的模块,分别是窗体模块、标准模块和类模块。窗体模块窗体模块中包含了窗体以及窗体中所有控件的事件过程,文件扩展名为(*.frm),窗体文件中不仅包含窗体对象的外观设计,也包含窗体模块(…...

Redis分布式锁

一、背景 与分布式锁相对应的是「单机锁」,我们在写多线程程序时,避免同时操作一个共享变量产生数据问题,通常会使用一把锁来「互斥」,以保证共享变量的正确性,其使用范围是在「同一个进程」中。单机环境下&#xff0…...

京东前端经典面试题整理

img的srcset属性的作⽤&#xff1f; 响应式页面中经常用到根据屏幕密度设置不同的图片。这时就用到了 img 标签的srcset属性。srcset属性用于设置不同屏幕密度下&#xff0c;img 会自动加载不同的图片。用法如下&#xff1a; <img src"image-128.png" srcset&qu…...

django+mysql实现一个简单的web登录页面

目录 一、使用pyacharm创建一个django项目 二、启动django项目验证 三、配置mysql数据库 1、本地安装mysql数据库 1&#xff09;安装mysql数据库 2&#xff09;自己创建一个数据库 2、安装 pymysql 3、配置mysql数据库 1&#xff09;在项目同名包下的_init_.py里面添加…...

python cartopy手动导入地图数据绘制底图/python地图上绘制散点图:Downloading:warnings/散点图添加图里标签

……开学回所&#xff0c;打开电脑spyder一看一脸懵逼&#xff0c;简直不敢相信这些都是我自己用过的代码&#xff0c;想把以前的自己喊过来科研了&#xff08;&#xff09; 废话少说&#xff0c;最近写小综述论文&#xff0c;需要绘制一个地图底图&#xff0b;散点图&#xff…...

JavaScript中常用的数组方法

在日常开发中&#xff0c;我们会接触到js中数组的一些方法&#xff0c;这些方法对我们来说&#xff0c;可以很便利的达到我们想要的结果&#xff0c;但是因为方法比较多&#xff0c;有些方法也不常用&#xff0c;可能会过一段时间就会忘记&#xff0c;那么在这里我整理了一些数…...

磁疗为什么“没效果”?原来真相是这样!

很多人磁疗之后&#xff0c; 总爱迫不及待问一个问题&#xff1a; “这个多长时间见效啊&#xff1f;” …… 还有些人几天没有效果&#xff0c; 就果断下结论&#xff1a; “这东西没用&#xff01;” …… 有不少人错误地把磁疗等同于“药品”一样看待&#xff0c;总觉得…...

【直击招聘C++】5.1函数模板

5.1函数模板一、要点归纳1.定义函数模板2.实例化函数模板3.重载模板函数4.函数调用的匹配顺序一、要点归纳 1.定义函数模板 定义函数模板的一般格式如下&#xff1a; template<类型形参表> 返回类型 函数名&#xff08;形参表&#xff09; {函数体&#xff1b; }例如以…...

谈谈Java多线程离不开的AQS

如果你想深入研究Java并发的话&#xff0c;那么AQS一定是绕不开的一块知识点&#xff0c;Java并发包很多的同步工具类底层都是基于AQS来实现的&#xff0c;比如我们工作中经常用的Lock工具ReentrantLock、栅栏CountDownLatch、信号量Semaphore等&#xff0c;而且关于AQS的知识点…...

国际化语言,多语言三种方式

可以用透传的方式&#xff0c;自己写local的json文件&#xff0c;不需要配置什么&#xff0c;直接传&#xff0c;自己写方法i18n nextjsi18n umi4一、透传的方式 export const AppContext React.createContext<any>({})app.tsx 用context包裹import type { AppProps } f…...

C++——哈希3|位图

目录 常见哈希函数 位图 位图扩展题 位图的应用 常见哈希函数 1. 直接定址法--(常用) 这种方法不存在哈希冲突 取关键字的某个线性函数为散列地址&#xff1a;Hash&#xff08;Key&#xff09; A*Key B 优点&#xff1a;简单、均匀 缺点&#xff1a;需要事先知道关键字的…...

75 error

全部 答对 答错 选择题 3. 某公司非常倚重预测型方法交付项目&#xff0c;而其招聘的新项目经理却习惯于运用混合型方法。项目范围包含很多不清晰的需求。项目经理应该如何规划项目的交付&#xff1f; A company that is heavily focused on delivering projects using predi…...

ESP-C3入门8. 连接WiFi并打印信息

ESP-C3入门8. 连接WiFi并打印信息一、ESP32 连接WiFi的基本操作流程1. 初始化nvs存储2. 配置WiFi工作模式3. 设置WiFi登陆信息4. 启动WiFi5. 开启连接6. 判断是否成功二、事件处理函数1. 定义事件处理函数2. 创建事件组3. 在事件处理函数中设置事件组位4. 在其他任务中等待事件…...

使用python将EXCEL表格中数据转存到数据库

使用Python将excel表格中数据转存到数据库 1. 思路&#xff1a; 1&#xff09; 使用python读取excel表格中数据 2&#xff09;根据数据生成sql语句 3&#xff09;批量运行sql语句 2. 代码&#xff1a; import pandas as pddef readExcel(path, excel_file):return pd.read_e…...

【C++】类和对象(三)

目录 一、构造函数补充 1、初始化列表 1.1、初始化列表概念 1.2、初始化列表性质 2、explicit关键字 二、static成员 1、概念及使用 2、性质总结 三、友元 1、友元函数 2、友元类 四、内部类 五、拷贝对象时的一些编译器优化 一、构造函数补充 在《类和对象&#x…...

vTESTstudio - VT System CAPL Functions - General/Trigger Function

前面文章中我们已经介绍了常用的几种板卡的基本信息&#xff0c;那这些板卡该如何去通过软件调用呢&#xff1f;带着这个问题我们开始新的一块内容 - VT系统相关的自动化控制函数介绍&#xff0c;我会按照不同的板卡来分类&#xff0c;对其可控制的函数进行介绍&#xff0c;方便…...

IDEA 快捷键

ctrlD &#xff1a;复制当前行到下一行 ctrlO : 重写当前类的方法 ctrlshiftu : 大小写转化 Alt 上/下 &#xff1a;跳到上一个、下一个函数 Alt 左/右 : 回到上一个、下一个文件 Alt 回车 &#xff1a; 代码修正 Alt Insert &#xff1a; 插入代码 Ctrl Alt L &#xf…...

2023新华为OD机试题 - 入栈出栈(JavaScript) | 刷完必过

入栈出栈 题目 向一个空栈中依次存入正整数 假设入栈元素N(1 <= N <= 2^31-1) 按顺序依次为Nx ... N4、N3、N2、N1, 当元素入栈时,如果N1=N2+...Ny (y的范围[2,x],1 <= x <= 1000) 则N1到Ny全部元素出栈,重新入栈新元素M(M=2*N1) 如依次向栈存储6、1、2、3,当存…...

微信公众号扫码授权登录思路

引言 上学期研究了一下微信登录相关内容&#xff0c;也写了两三篇笔记&#xff0c;但是最后实际登录流程没有写&#xff0c;主要因为感觉功能完成有所欠缺&#xff0c;一直也没有好的思路&#xff1b;这两天我又看了看官方文档&#xff0c;重新构思了一下微信公众号登录相关的…...

数据结构与算法基础-学习-10-线性表之顺序栈的清理、销毁、压栈、弹栈

一、函数实现顺序栈的其他函数实现&#xff0c;请看之前的博客链接《数据结构与算法基础-学习-09-线性表之栈的理解、初始化顺序栈、判断顺序栈空、获取顺序栈长度的实现》。1、ClearSqStack&#xff08;1&#xff09;用途清理栈的空间。只需要栈顶指针和栈底指针相等&#xff…...

第 11 章 追踪与性能分析(OpenOCD)

第 11 章 追踪与性能分析 导读:现代 ARM 处理器内置了丰富的 CoreSight 追踪基础设施,包括 ETM 指令追踪、ITM/DWT 数据追踪、SWO/TPIU 追踪输出以及 SEGGER RTT 高速日志。本章将系统介绍如何在 OpenOCD 中配置和使用这些追踪功能,帮助开发者在不侵入目标程序的前提下,完成…...

避坑指南:VSCode Remote-SSH离线安装时,插件版本不兼容和服务器环境配置的那些坑

深度解析VSCode Remote-SSH离线安装的五大核心难题与实战解决方案 在远程开发日益普及的今天&#xff0c;VSCode的Remote-SSH功能已经成为开发者连接Linux服务器的首选工具。然而当网络环境受限时&#xff0c;离线安装过程中的各种"暗坑"往往让开发者寸步难行。本文将…...

解锁论文新姿势:书匠策AI,你的毕业论文“智能加速器”!

在学术的征途上&#xff0c;毕业论文无疑是每位学子必须跨越的一道重要关卡。它不仅是对你大学四年学习成果的全面检验&#xff0c;更是你迈向学术殿堂或职场的重要敲门砖。然而&#xff0c;面对堆积如山的资料、错综复杂的逻辑结构以及繁琐的格式要求&#xff0c;许多学子往往…...

SpringCloud Eureka停更了,我为什么还在用它做微服务注册中心?

SpringCloud Eureka停更后&#xff0c;为什么它仍是微服务架构的隐秘王牌&#xff1f; 当Netflix在2018年宣布停止维护Eureka时&#xff0c;整个Java微服务社区都为之震动。五年过去了&#xff0c;这个"过时"的组件却依然活跃在众多企业的生产环境中。上周我参与了一…...

蓝牙天线匹配避坑指南:从VNA测试到π型电路焊接的5个关键步骤

蓝牙天线匹配避坑指南&#xff1a;从VNA测试到π型电路焊接的5个关键步骤 在消费电子领域&#xff0c;2.4GHz蓝牙天线的性能直接决定了产品的无线连接质量。许多硬件团队在开发过程中常遇到信号不稳定、传输距离短等问题&#xff0c;其核心往往在于天线阻抗匹配的细节处理不当。…...

终极指南:Fn与云原生生态的完美集成,如何与Istio、Prometheus等工具无缝协作

终极指南&#xff1a;Fn与云原生生态的完美集成&#xff0c;如何与Istio、Prometheus等工具无缝协作 【免费下载链接】fn The container native, cloud agnostic serverless platform. 项目地址: https://gitcode.com/gh_mirrors/fn/fn Fn是一款容器原生的无服务器平台&…...

vLLM-v0.17.1部署教程:vLLM+NGINX实现SSL/TLS加密API服务

vLLM-v0.17.1部署教程&#xff1a;vLLMNGINX实现SSL/TLS加密API服务 1. vLLM框架简介 vLLM是一个专注于大语言模型(LLM)推理和服务的高性能开源库。它最初由加州大学伯克利分校的天空计算实验室开发&#xff0c;现已发展成为一个由学术界和工业界共同维护的社区项目。 这个框…...

背包问题可视化:用动态规划表格理解0-1背包最优解

背包问题可视化&#xff1a;用动态规划表格理解0-1背包最优解 当你第一次面对背包问题时&#xff0c;可能会被那些复杂的公式和递归关系搞得晕头转向。我们常常会遇到这样的情况&#xff1a;明明看懂了算法描述&#xff0c;但一到手动计算就不知所措。这就是为什么我们需要一种…...

游戏资源解密工具:RPG Maker Decrypter零基础使用指南

游戏资源解密工具&#xff1a;RPG Maker Decrypter零基础使用指南 【免费下载链接】RPGMakerDecrypter Tool for extracting RPG Maker XP, VX and VX Ace encrypted archives. 项目地址: https://gitcode.com/gh_mirrors/rp/RPGMakerDecrypter RPG Maker Decrypter 是一…...

实现网页动态交互:Live2D模型嵌入与换装功能详解

1. Live2D技术入门&#xff1a;从零开始认识动态模型 第一次接触Live2D时&#xff0c;我被它流畅的动画效果惊艳到了。这种技术能在二维平面上呈现出近乎三维的立体感&#xff0c;让静态角色"活"起来。Live2D最初确实是为游戏开发的&#xff0c;但现在越来越多地被用…...