轉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_)
uj5u.com熱心網友回復:
還有一個問題錯誤13 運算式是一個值,因此不能作為賦值目標。
Dim GrabResult As PylonC.PylonGrabResult_t
GrabResult.Status = PylonC.EPylonGrabStatus.UndefinedGrabStatus
uj5u.com熱心網友回復:
你應該在幫助中搜下"針對 Visual Basic 6.0 用戶",仔細閱讀Short 換為 System.Windows.Forms.Cursor
DeviceRemovalCallback_ 應該是個函式
你的 PylonC.PylonGrabResult_t.Status 應該是一個可賦值的屬性。
又:總之,不要相信自動升級工具。
還不如按功能重新撰寫,開發效率更高。
uj5u.com熱心網友回復:
額,其實我是寫vc++的,公司沒寫vb的,之前專案又是vb,只能硬著頭皮上啊uj5u.com熱心網友回復:
其他問題解決了,還有兩個錯,求指導錯誤 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”的成員。
uj5u.com熱心網友回復:
其他問題解決了,還有兩個錯,求指導錯誤 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”的成員。
uj5u.com熱心網友回復:
Public Delegate Sub DeviceRemovalCallback(ByVal hDevice As Integer)
uj5u.com熱心網友回復:
Clear()是Graphics的方法,現在的繪圖方式和原先不一樣,參考【VB.NET2010】在PictureBox上繪制文字的相關問題uj5u.com熱心網友回復:
將DeviceRemovalCallback定義為委托型別后編譯出現下面的錯錯誤“DeviceRemovalCallback”是一個型別,不能用作運算式。
自動升級工具就會提示
在"PlyonliveView.frmMain中生成"DeviceRemovalCallback"的方法存根
如果按提示該就又自動定義
Private Sub DeviceRemovalCallback()
Throw New NotImplementedException
End Sub
然后就回到剛開始的錯了
錯誤 “AddressOf”運算式不能轉換為“Object”,因為“Object”不是委托型別。
額,求幫忙
uj5u.com熱心網友回復:
clear()我用refresh代替了,效果不知道怎么樣uj5u.com熱心網友回復:
留個腳印……VB.NET 跟之前的VB6相比,很多東西都不一樣了。
感徑訓是VB6好用些。
uj5u.com熱心網友回復:
自動升級工具只是盡量地等價翻譯,不知道原先的代碼要做什么,翻譯出來的代碼更加不知道在做什么了。所以說最好是重做。
VB6中要CallBack的方式在VB.Net可能用其它方式實作。
去看看設計檔案,目的是什么,然后用VB.Net的方式撰寫出來。
試圖修正自動升級的代碼是個填不滿的大坑!!!
uj5u.com熱心網友回復:
沒必要轉,64位Win7下運行VB6開發的程式毫無違和感。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/93894.html
標籤:VB基礎類
