荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Luther (禅心证道), 信区: Program
标  题: 转载:VB5至VB6的转换
发信站: BBS 荔园晨风站 (Mon Nov  9 17:03:02 1998), 站内信件 (WWW POST)

    在每一次VB的版本转换中,软件开发人员都被迫做一些工作才能将一个工程迁移到新版
本的VB中。以前,这些工作要涉及源代码的改动,比如改动控件、VB语法和一些方法等。现
在的好消息是在VB5至VB6的转换中我们再也用不着修改源代码了。实际上,解决了VB5至
VB6转换中的一些大问题(见下
文)之后,我们顺利地直接转换、编译和运行了十个小应用和两个较大的生产力系统,而没
有对应用代码做任何修改。而这在以前是完全不可能做到的,因此这确实是个重大的改进。
  我们在转换中碰到的一个大问题曾出现在VB4至VB5的转换中,在VB6中再
次遇到这个问题确实颇令人心烦。如果你在你的VB5应用中使用了任何一种微
软的Windows公用控件,如ToolBar、ImageList和StatusBar,你在转换过程中就必须格外小
心。
     这些控件以及其它东西包含在COMCTL32.OCX、COMCT232.OCX和VB5的DLL文件中。在
VB6中,它们位于COMCTL.OCX、COMCTL2.OCX和COMCT332.OCX。
   无论何时在Windows中登记一个控件,Windows总是会分派一个名叫Globally Unique
Identifier(GUID)的东西。如果你用文本编辑器查看VB工程文件,你会发现OCX文件的引
用方式不再是文件名而是它们的GUID。这些GUID看上去是一长串十六位的数字,中间夹杂着
一些连字符。由于Windows公用控件
   用于VB5的GUID与用于VB6的不同,所以就会出现问题。
只要你在将工程转换到VB6时继续使用VB5的控件,一切都将是正常的,   但当你试图将
VB5控件也转换成VB6时,问题就会出来。当你转换VB4的控件时,VB5曾会问你是否升级到新
版本。如果你点“Yes”,你的所有Windows公
   用控件就都变成了Picture Box,原因是VB无法将老控件的GUID连接到新的版本中。我们
的β版VB6也问了同样的问题而且出的错误也一样,不过微软说在正式版中将不会有这个问
题。另外,微软还将提供一个小程序(也是用VB编写的),这个小程序能够扫描VB5的工程
并作出相应的GUID改动。你必须在将工程文件首次读入VB6之前运行这个转换器。我们测试
了这个转换器的β版,称为ActiveX Control Upgrade Utility,这个转换器的运行效果是
无可挑剔的。
     虽然这个问题在从VB4到VB5的转换中已经存在,但微软在VB6的β测试快结束的时候
才发现。我们希望在未来当VB7读入VB6的工程文件时,这种转换工作已经能够自动完成。如
果我们运气特别好,也许会有一个Service Pack   补丁来彻底解决问题。

--
☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 210.39.0.47]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店