送分100分:将工程从VB6转到VB2005中遇到的问题,如何处理
将从VB6中所做的一个工程转换到VB2005中时,遇到如下错误提示:
错误39未声明名称“LenB”。
错误40未声明名称“vbFromUnicode”。
错误44类型“System.Windows.Forms.Panel”的值无法转换为“System.Windows.Forms.PictureBox”。
错误75未声明名称“sdrbb_Renamed”。
错误76未声明名称“sdrbb_Renamed”。
错误93“CtlRefresh”不是“AxMSDataGridLib.AxDataGrid”的成员。
错误129“Public Event Load(sender As Object, e As System.EventArgs)”是事件,不能直接调用。请使用“RaiseEvent”语句引发事件。
请教如何处理。
谢谢大家。
[解决办法]
针对不同的错误信息要有不同的处理方法,这个基本上是个让人头疼的工作。
大部分的代码可以通过.net中提供的Microsoft.VisualBasic命名空间下的函数来解决,另外的一部分就要靠自己动手了,比如楼主所列的错误中PictureBox的使用,在vb6里面的确可以作为容器来用,在.net中却要用Panel来实现类似的功能,这种情况下就要手动通过代码来修改控件类型了。
[解决办法]
VB net的函数,方法,属性与VB 6.0虽说有一定的联系,但用法大不一样,要注意总结两者的区别。比如LenB,在vb net 中常用
System.Text.Encoding.GetEncoding("gb2312").GetByteCount(str1)
System.Text.Encoding.Unicode.GetByteCount(str1)
System.Text.Encoding.Default.GetByteCount(str1)
之类
[解决办法]