转vb6.0的程序到vs2005时有问题解决不了,求帮助。
错误 2 “Cls”不是“System.Windows.Forms.PictureBox”的成员。
pcb.Cls()
pcb.hdc错误 6 类型“Short”的值无法转换为“System.Windows.Forms.Cursor”。
Dim OldMousePointer As Short
Me.Cursor = OldMousePointer
OldMousePointer = Me.Cursor错误 10 “AddressOf”表达式不能转换为“Object”,因为“Object”不是委托类型。
m_hCallback = PylonC.PylonC.PylonDeviceRegisterRemovalCallbackHwnd(hNewDevice, Me.Handle.ToInt32, AddressOf DeviceRemovalCallback_)

解决方案 »

  1.   

    还有一个问题
    错误13 表达式是一个值,因此不能作为赋值目标。
    Dim GrabResult As PylonC.PylonGrabResult_t
    GrabResult.Status = PylonC.EPylonGrabStatus.UndefinedGrabStatus
      

  2.   

    你应该在帮助中搜下"针对 Visual Basic 6.0 用户",仔细阅读
    Short 换为 System.Windows.Forms.CursorDeviceRemovalCallback_ 应该是个函数你的 PylonC.PylonGrabResult_t.Status 应该是一个可赋值的属性。又:总之,不要相信自动升级工具。
    还不如按功能重新编写,开发效率更高。
      

  3.   

    额,其实我是写vc++的,公司没写vb的,之前项目又是vb,只能硬着头皮上啊
      

  4.   

    其他问题解决了,还有两个错,求指导
    错误 5 “AddressOf”表达式不能转换为“Object”,因为“Object”不是委托类型。
    m_hCallback = PylonC.PylonC.PylonDeviceRegisterRemovalCallbackHwnd(hNewDevice, Me.Handle.ToInt32, AddressOf DeviceRemovalCallback)
    m_hCallback和DeviceRemovalCallback定义如下
    Private m_hCallback As Integer
    Public Sub DeviceRemovalCallback(ByVal hDevice As Integer)
    ' Callback function must reside in modules (.bas) files.
    frmMain.OnDeviceRemoval(hDevice)
    End Sub错误 “Cls”不是“System.Windows.Forms.PictureBox”的成员。
    使用clear也是一样的错
    错误“Clear”不是“System.Windows.Forms.PictureBox”的成员。
      

  5.   

    其他问题解决了,还有两个错,求指导
    错误 5 “AddressOf”表达式不能转换为“Object”,因为“Object”不是委托类型。
    m_hCallback = PylonC.PylonC.PylonDeviceRegisterRemovalCallbackHwnd(hNewDevice, Me.Handle.ToInt32, AddressOf DeviceRemovalCallback)
    m_hCallback和DeviceRemovalCallback定义如下
    Private m_hCallback As Integer
    Public Sub DeviceRemovalCallback(ByVal hDevice As Integer)
    ' Callback function must reside in modules (.bas) files.
    frmMain.OnDeviceRemoval(hDevice)
    End Sub错误 “Cls”不是“System.Windows.Forms.PictureBox”的成员。
    使用clear也是一样的错
    错误“Clear”不是“System.Windows.Forms.PictureBox”的成员。
      

  6.   

    Public Delegate Sub DeviceRemovalCallback(ByVal hDevice As Integer)
      

  7.   

    Clear()是Graphics的方法,现在的绘图方式和原先不一样,参考【VB.NET2010】在PictureBox上绘制文字的相关问题 
      

  8.   

    将DeviceRemovalCallback定义为委托类型后编译出现下面的错
    错误“DeviceRemovalCallback”是一个类型,不能用作表达式。
    自动升级工具就会提示
    在"PlyonliveView.frmMain中生成"DeviceRemovalCallback"的方法存根
    如果按提示该就又自动定义
    Private Sub DeviceRemovalCallback()
            Throw New NotImplementedException
        End Sub
    然后就回到刚开始的错了
    错误 “AddressOf”表达式不能转换为“Object”,因为“Object”不是委托类型。
    额,求帮忙
      

  9.   

    clear()我用refresh代替了,效果不知道怎么样
      

  10.   

    留个脚印……VB.NET 跟之前的VB6相比,很多东西都不一样了。
    感觉还是VB6好用些。
      

  11.   

    自动升级工具只是尽量地等价翻译,不知道原先的代码要做什么,翻译出来的代码更加不知道在做什么了。
    所以说最好是重做。
    VB6中要CallBack的方式在VB.Net可能用其它方式实现。
    去看看设计文档,目的是什么,然后用VB.Net的方式编写出来。
    试图修正自动升级的代码是个填不满的大坑!!!
      

  12.   

    没必要转,64位Win7下运行VB6开发的程序毫无违和感。