• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
Visual
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
Visual Basic 的工程限制
软件发布 Visual Basic 的工程限制
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 编程技术 >> VB & VB.NET教程 >> Visual Basic 的工程限制

Visual Basic 的工程限制

添加时间: 2006-2-16 8:59:50  作者: VB教程  阅读次数:66   来源: http://www.d9soft.com

        一个单项工程可以包含多达 32,000 个"标识符"(非保留字),它们包括(但不限于)窗体、控件、模块、变量、常量、过程、函数和对象。注意,实际的标识符数受可用内存的限制。
  Visual Basic 中的变量名不多于 255 个字符,而窗体、控件、模块和类名不多于 40 个字符。Visual Basic 不限制工程中不同对象的实际数目。

  ◆控件限制◆

  每个非图形的控件(除形状、直线、图像和标签之外的所有控件)都使用一个窗口。每个窗口都使用系统资源,所以可同时存在的窗口总数受到可用资源的限制。确切的限制取决于可用的系统资源和使用的控件类型。为了减低系统资源的消耗,在创建或显示图形时,可以使用形状、直线、标签和图像控件而不用图片框控件。
  1、控件总数
  单个窗体允许使用的最大控件数目取决于使用的控件类型和可用的系统资源。然而,有每个窗体只允许 254 个控件名的固定限制。因为数组中的所有控件共享一个控件名,所以控件数组仅对这一限制计数一次。在所有的版本中,对控件数组索引的限制是在 0 到 32,767 的范围之内。如果在每个控件的顶层上再安放控件,例如在框架中嵌套框架控件,VisualBasic 一般只接受不多于 25 层的嵌套控件。
  2、对特殊控件的限制
  下表列出了用于 Visual Basic 中特殊控件的属性限制。
  List和ListCount列表框控件和组合框控件:项数最多为32K,对每项大小的限制为1K(1024 字节);
  Text文本框控件:限制为64K;
  Caption标签控件:限于1024字节;
  命令按钮控件、复选框控件、框架控件和选项按钮控件:限于255个字符,任何超过这些限制的标题均被截尾;
  自定义控件属性的标题:限于32K
  菜单控件:限于235个字符
  Tag所有控件:仅限于可用的内存大小
  Name所有控件:限于40个字符
  注意,在 Visual Basic 中,控件属性名限于 30 个字符。

  ◆代码限制◆

  可被加载到窗体、类或标准模块的代码总数限于 65,534 行。一行代码限于1023 个字节。在一行中的实际文本之前最多只能有 256 个空格的前导,在一个逻辑行中最多只能有 25 个续行符 ( _)。
  1、过程、类型和变量
  对每个模块的过程数没有限制。每个过程可包含至多 64K 的代码。如果过程或模块超过这一限制,Visual Basic 便产生编译时间错误。如果遇到这种错误,可将特别大的过程分割成若干个较小的过程,或将模块级声明移到另一模块,来避免此类错误发生。Visual Basic 用表来保存代码中的标识符名(变量、过程、常量等)。每个表限于 64K。
  2、动态链接库声明表
  每个窗体和代码模块使用一个描述动态链接库入口点的结构的表。每个结构约 40 个字节,表的大小限于 64K,形成每个模块大约有 1500 个声明。
  3、工程名表
  整个应用程序用一张包含所有名称的表。这些名称包括:
  ·常量名
  ·变量名
  ·自定义的类型定义名
  ·模块名
  ·DLL 过程声明名
  对工程名表总大小没有限制,但是区分大小写的条目不得超过 32K。如果超过了 32K 的限制,可以在不同的模块中重新使用 private 标识符以限制区分大小写的条目数到达 32K。
  4、输入表
  在不同的模块中每引用一个标识符,便在输入表中创建一个条目。每一个这样的入口最小是 24 字节,但限于 64K,这样每个模块大约可以有 2000个引用。
  5、模块条目表
  该表中每个模块最多达 125 个字节,但有 64K 的总限制,这样每个工程大约可以产生 400 个模块。

  ◆数据限制◆

  应用于 Visual Basic 语言中变量的限制有下面各种。
  1、窗体、标准和类模块数据
  Visual Basic中任何窗体或模块的VBA模块数据段(即在声明部分中定义的数据)有多达 64K 的数据段,该数据段包括下列数据:
  ·用 Static 声明的局部变量
  ·不是数组和变长字符串的模块级变量
  ·每个模块数组和变长字符串占 4 个字节
  2、过程、类型和变量
  如果过程或模块超过 64K 的代码限制,Visual Basic 便产生一个编译时错误。
  如果一个过程中定义的局部变量超过 64K,则产生“太多的局部非静态变量”错误。
  如果一个模块中定义的模块级变量超过 64K,或定义的自定义类型大于64K,则产生“固定或静态数据不能超过64K”错误。
  如果遇到这类错误,可将一个太大的过程分割成若干较小的过程,或将模块级声明移到另一模块中,来避免这种错误的发生。
  作为变量声明的数组不能使用全部数组空间;只有数组描述符对 64K 的限制起作用。例如,在过程中声明或作为模块级声明,Dim x(1000000) As Byte。然而,如果在记录中声明了一个大的、固定大小的数组,然后将这些记录的示例声明为变量时,就会发生内存溢出。
  3、自定义的类型
  虽然许多自定义类型的变长字符串的总和可以超过 64K(每个自定义类型的变长字符串仅占 4 个字节;而字符串的实际内容是分别存储的)但自定义类型的变量不能超过 64K。自定义类型可用其它自定义类型来定义,但这种类型的总大小不能超过 64K。
  4、堆栈空间
  在运行时过程中的参数和局部变量占用堆栈空间。而模块级变量和静态变量不占堆栈空间,因为它们被分配在窗体或模块的数据段中。任何被调用的 DLL 过程,在执行时都要使用堆栈。
  Visual Basic 自己也使用堆栈,例如,在计算表达式时保存中间值。
  Visual Basic全部可用堆栈的大小是每线程一兆字节(1MB)。然而,如果有相邻的闲置内存,堆栈的大小可以超过这个限定。

  ◆系统资源限制◆

  对于 Visual Basic 和用它建立的应用程序的某些限制,是受 Microsoft Windows 的影响。这些限制会因 Microsoft Windows 的版本不同而不同。
  每个打开的窗口都要使用系统资源(Microsoft Windows 使用的数据区)。如果超出系统资源范围运行,就会产生运行时错误“Windows运行的可用资源不足”。可以从 Windows NT 3.51 的“程序管理器”或“文件管理器”的“帮助”菜单中选取“关于”,或者从 Windows 95 和 Windows NT 4.0 的“Windows 资源管理器帮助”菜单中选取“关于”,来检测剩余的系统资源的百分比。应用程序也能调用 Windows 的 API GetFreeSystemResources 来回收系统资源、关闭窗口(例如打开的窗体和“代码”窗口,以及在其它应用程序中的窗口)并退出运行的应用程序。

 

上下文章:

 

上一篇文章: VB调用Microsoft Agent控件与电脑交谈 下一篇文章: VB程序中如何处理随机事件

相关文章:

  • Vista组策略编辑器隐藏和限制分区
  • 弥补Oracle数据库访问限制绕过的漏洞
  • 给数据库管理员设定访问限制
  • 弥补Oracle数据库访问限制绕过的漏洞
  • 给数据库管理员设定访问限制

相关软件:

  • Visual Studio 2005 Express Editions (Visual Basic)
  • WorkWin限制专家 V1.0
  • Visual Graph专业图形引擎 V4.6
  • Visual Basic V5.0 Runtime Files
  • 全国计算机等级考试模拟软件(2006年全年使用)二级Visual Basic V9.0
  • 手机解锁、测试、升级、工程模式查找器 7.01

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库
  • 用DAO或ADO正确访问Access 2000

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 如何编写高质量的VB代码
  • 初学者必知:VB10个小编程
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • 第二章 PowerBuilder 入门之创建新...
  • VC++之List Box/Check List Box控...
  • 第一章 什么是PowerBuilder
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有