如何完成VB6.0项目升级

学习VB6.0时,你可能会遇到VB6.0项目升级问题,这里将介绍VB6.0项目升级问题的解决方法,在这里拿出来和大家分享一下。

VB6.0项目升级

如果你用升级向导 (Upgrade Wizard) 把 VB6.0项目升级为 Visual Basic .NET 版,则它会在每个窗体中自动添加一段特殊代码,通过显式创建窗体实例来模拟早期 Visual Basic 版本中的默认实例化机制。此段代码被包裹于标号为 “Upgrade Support”的代码区块内,借助一个新增的 Shared 属性来生成当前窗体的实例:

 
 
 
  1. Private Shared m_vb6FormDefInstance As Form1  
  2. Private Shared m_InitializingDefInstance As Boolean 
  3. Public Shared Property DefInstance() As Form1  
  4. Get 
  5. If m_vb6FormDefInstance Is Nothing _  
  6. OrElse m_vb6FormDefInstance.IsDisposed Then 
  7. m_InitializingDefInstance = True 
  8. m_vb6FormDefInstance = New Form1()  
  9. m_InitializingDefInstance = False 
  10. End If 
  11. DefInstance = m_vb6FormDefInstance  
  12. End Get 
  13. Set(ByVal Value As Form1)  
  14. m_vb6FormDefInstance = Value  
  15. End Set 
  16. End Property  

代码中的 DefInstance 是一个 Shared 属性,它能以 “窗体名.DefInstance” 的形式直接访问。它所在项目中的任何代码访问它都将得到同一个窗体实例。这样,你就能模拟 VB6.0项目对窗体的直接引用了,只不过在代码中以“Form2.DefInstance”代替“Form2” 而已。

这时,你只需用 Form2.DefInstance.Show() 和Form2.DefInstance.TextBox1.Text = "Fred" 分别替换原先对 Form2 相应的直接引用就大功告成了。假如你不用升级向导,而是在 Visual Basic .NET 窗体中手工插入上述代码 (以及升级向导在窗体的 New过程中自动添加的代码),也行。当然了,你并不一定非要修改窗体代码,因为有一种编程模式可以在 .NET 项目中模拟默认窗体实例的创建。以后再详细介绍这种编程模式,本文只介绍VB6.0项目升级。

文章名称:如何完成VB6.0项目升级
网页URL:http://www.mswzjz.cn/qtweb/news2/363902.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能