0
嘿所有我想VB6的一點點轉換爲.NET和我得到的錯誤:VB6到VB.NET CopyMemory的
「」類型的未處理的異常出現在Microsoft.VisualBasic.dll
其他信息:從字符串「」轉換爲「整數」類型無效。
以下.NET代碼的地方卡住在CopyMemory的(str_Renamed,PTR,計數):
Public Function ptrToStr(ByVal ptr As Integer) As String
Dim count As Integer
Dim str_Renamed As String
count = lstrlen(ptr)
If count Then
str_Renamed = New String(vbNullChar, count)
CopyMemory(str_Renamed, ptr, count)
ptrToStr = str_Renamed
Else
ptrToStr = ""
End If
End Function
這些可變因素的值是:
count = 4
ptr = 268978536
str_Renamed = " "
我'不知道如何去解決這個錯誤...
像這樣的東西通常最好留給編組,例如。 Marshal.PtrToStringAnsi/Auto() –
這可能是代碼轉換不是一個好習慣的例子。如果你發現原始代碼試圖完成什麼,有可能會有更好更容易的.NET方法來完成沒有任何指針/ CopyMemory內容的等效方法。 – DaveInCaz