vb中工程兼容和二进制兼容之间的区别
来源:互联网 发布:手机笑话软件 编辑:程序博客网 时间:2024/04/27 21:33
vb中工程兼容和二进制兼容之间的区别 第一次把部件工程生成可执行文件(.Exe、.dll 或者 .ocx)时,Visual Basic 自动把“版本兼容”选项设为“工程兼容”,并向已生成的可执行文件中插入路径。这可以保证从一个开发任务转向另一个时,测试工程和部件仍能保持连接。
如果因为某些原因工程被设置为“不兼容”,可以手工修改它为另两种“版本兼容”选项中的一种。“二进制兼容”是在开发已有部件的增强版时使用的选项,对于新的开发来说应该使用“工程兼容”。
注 意 “工程兼容”选项实际上和“二进制兼容”选项(在“版本兼容性”中描述)无关。“工程兼容”更确切的叫法应该是“工程不兼容性”,因为每次编译工程时, Visual Basic 都会抛弃除了 GUID 以外的所有有关类型库的东西。(这句话似乎很难理解,应细细体味)
只要开始在已有部件的新版本上工作,就需要指定一个类型库,Visual Basic 用它作为兼容性的参考点。多数情况下,这个类型库就包含在最后发布的部件版本的可执行文件(.Exe、.dll,或 .ocx 文件)中。
对于更新的部件,每次为它建立中间版本时, Visual Basic 将从该 .Exe 文件中提取有关旧接口的信息,并把它和类模块的新接口相比较。
“为兼容性提供参考点”介绍了建立参考点的过程。
保持引用版本和中间编译版本保持分离
重点 保持被指定为引用版本的 .Exe 文件备份和新版本的编译备份之间的独立。
每次进行中间编译时,Visual Basic 都会向可执行文件中添加新的接口标识符集,每个类模块一个标识符。如果把编译备份指定为参考版本,那么每次版本兼容的中间编译所增加的接口标识符都会堆积在一起。(对于版本相同的编译,接口标识符不会改变。)
除了每个接口标识符要占用十六个字节以外,在有些情况下,在可执行文件中包含无用的接口标识符— 只有测试应用程序曾经使用过的中间版本— 将会减慢进程间对部件的访问,同时安装该部件的计算机的 Windows 注册表也会被无用的接口标识符弄得凌乱不堪。
如果参考版本是上一次发布的可执行文件的备份,那么所有的中间编译会有相同的接口版本号,而最终编译只包含所需的接口标识符:所有参考版本的标识符集(为了提供向后兼容)再加上新版本中所有类的接口标识符集。
注意 开发部件的第一个版本时,使用“工程兼容”而不是“二进制兼容”,情况恰好相反,参考版本会成为中间编译的版本。这不会使类型库膨胀,因为“工程兼容”从不保存接口标识符。
如果因为某些原因工程被设置为“不兼容”,可以手工修改它为另两种“版本兼容”选项中的一种。“二进制兼容”是在开发已有部件的增强版时使用的选项,对于新的开发来说应该使用“工程兼容”。
注 意 “工程兼容”选项实际上和“二进制兼容”选项(在“版本兼容性”中描述)无关。“工程兼容”更确切的叫法应该是“工程不兼容性”,因为每次编译工程时, Visual Basic 都会抛弃除了 GUID 以外的所有有关类型库的东西。(这句话似乎很难理解,应细细体味)
只要开始在已有部件的新版本上工作,就需要指定一个类型库,Visual Basic 用它作为兼容性的参考点。多数情况下,这个类型库就包含在最后发布的部件版本的可执行文件(.Exe、.dll,或 .ocx 文件)中。
对于更新的部件,每次为它建立中间版本时, Visual Basic 将从该 .Exe 文件中提取有关旧接口的信息,并把它和类模块的新接口相比较。
“为兼容性提供参考点”介绍了建立参考点的过程。
保持引用版本和中间编译版本保持分离
重点 保持被指定为引用版本的 .Exe 文件备份和新版本的编译备份之间的独立。
每次进行中间编译时,Visual Basic 都会向可执行文件中添加新的接口标识符集,每个类模块一个标识符。如果把编译备份指定为参考版本,那么每次版本兼容的中间编译所增加的接口标识符都会堆积在一起。(对于版本相同的编译,接口标识符不会改变。)
除了每个接口标识符要占用十六个字节以外,在有些情况下,在可执行文件中包含无用的接口标识符— 只有测试应用程序曾经使用过的中间版本— 将会减慢进程间对部件的访问,同时安装该部件的计算机的 Windows 注册表也会被无用的接口标识符弄得凌乱不堪。
如果参考版本是上一次发布的可执行文件的备份,那么所有的中间编译会有相同的接口版本号,而最终编译只包含所需的接口标识符:所有参考版本的标识符集(为了提供向后兼容)再加上新版本中所有类的接口标识符集。
注意 开发部件的第一个版本时,使用“工程兼容”而不是“二进制兼容”,情况恰好相反,参考版本会成为中间编译的版本。这不会使类型库膨胀,因为“工程兼容”从不保存接口标识符。
- vb中工程兼容和二进制兼容之间的区别
- Xcode_arc和mrc在工程中兼容
- java 二进制兼容 的解释
- VB 项目的版本兼容.
- 关于VB编程中IE7.0和6.0不兼容的问题
- 创建兼容Android Studio和eclipse的AS工程
- WEB标准中浏览器之间兼容的小方法
- SQL中数据库之间不兼容的语法汇总
- 关于JavaScript事件和不同浏览器之间的兼容
- 兼容位图和兼容DC的理解
- JavaScript中documentElement和body的区别及jQuery中实现兼容的原理
- Android中OnkeyDown事件和OnBackPressed方法区别、兼容、使用
- Android中OnkeyDown事件和OnBackPressed方法区别、兼容、使用
- 关于二进制兼容
- 如何做到二进制兼容
- c++ 二进制兼容本质
- wince6.0 兼容位图CreateCompatibleBitmap和非兼容位图CreateDIBSection的区别
- JS在firefox和IE下的区别 兼容解决方案
- 白描一个IT资深记者孙哥
- NET USE 命令用法
- 获取数据库元数据
- 页面加载完成再执行js代码
- Java虚拟机详细介绍
- vb中工程兼容和二进制兼容之间的区别
- DB2常用命令大全
- 思念总是那么长
- php确认码图片
- 判断文件夹是否存在
- LINQ
- pb筆記
- 斐波那契数列 PHP Implements
- pb筆記2