Visual Basic COM基础讲座之兼容性
2008-02-23 06:48:10来源:互联网 阅读 ()
还记得我们是怎样遇到那个问题吗?当时,我们先编译ActiveX DLL,然后编译使用该DLL的测试程序。接着,我们重新编译DLL,那是因为假设DLL中的内容需要修改。然而,再运行测试程序时,却出现错误!
虽然,我们可以重新编译测试程序,以便该程序能正确运行。但是,如果这里不是VB程序,而是Excel数据表或是C 统计程序在使用该DLL,那么是不是每次对ActiveX DLL进行小小的修改后都要重新编译这些程序呢?
是的,肯定不能这样。
因为经验告诉我们,这是一个兼容性问题。所以,可以这样处理:
启动Visual Basic,打开Northwind工程;
选择"Project"->"Northwind Properties"菜单;
单击"Component"标签;
浏览一下"Version Compatibility"的页面内容,可以发现有三个选项。现解释一下:
No Compatibility —— 每次编译时,用户COM组件都被标有一个新的标记,这就意味着程序只能使用旧标记(以前版本)的DLL。
Project Compatibility —— 每次编译时,用户COM组件不是总会被标有一个新的标记。如果是的话,任何当前使用的应用程序都会失败。事实上,只有当当前工程和已经编译过的DLL工程有较大不同时才会这样。
Binary Compatibility —— 每次编译时,应用程序总试图保存前一个编译过的DLL标记,这样就确保了使用的应用程序不会出现蓝屏的死机现象。但是,若当前将要编译的DLL和以前编译过的DLL区别太大,则新的标记就会被标上。
让我们测试一下上述论点:
打开本教程上一部分的测试程序;
重新编译一下;
试运行一下,应该能正常工作;
打开ActiveX DLL工程;
将其属性设置为Binary Compatibility;
重新编译一下该DLL;
试运行一下测试程序,应该能正常工作。
好了,看起来似乎解决了问题。但当重新编译DLL后,大多数开发人员将会陷入另一种不兼容的境地。
难道就没有更好的解决办法吗?我们暂时将这个问题放到一边!
您可访问下列站点以获得更多的内容:
www.PylonOfTheMonth.co.uk.
上一篇: VB COM基础讲座之全面测试
下一篇: VB COM基础讲座之建立测试程序
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:VB图像处理之二次线性插值的应用
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash