VB 版 (精华区)

发信人: zxfsnow (最近睡眠太少), 信区: VB
标  题: Visual Basic 6.0--VB5至VB6的转换 
发信站: 哈工大紫丁香 (2000年06月08日12:37:08 星期四), 转信

发信人: looker (幸福的××), 信区: Visual
标  题: Visual Basic 6.0--VB5至VB6的转换
发信站: 武汉白云黄鹤站 (Thu Dec  3 16:24:56 1998) , 站内信件

  
Visual Basic 6.0
VB5至VB6的转换

   在每一次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.hit.edu.cn·[FROM: 202.118.235.249]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.022毫秒