在VB6中調用C++DLL:
Dim sndData‘缺省類型,自動默認為Variant/empty
sndData=data’data為一個二進制數組,賦值結束後sndData的類型自動變為Variant/byte(0 to 65)
Result=Msocket.sendto(sndData)'C++接收類型為Variant。
以上代碼正常。
在在.net2012中同樣情況:
Dim sndData As Object‘這裡不支持缺省了。
sndData=VB6.copyArray(data)’這裡升級也自動變了。不支持直等了。看sndData類型只顯示Object,值跟VB6一樣。
Result=Msocket.sendto(sndData)'_報錯:類型不一致。_
請問:我該如何在.net2012中定義能夠與VB6.0保持一致,讓我能夠傳的參數能夠讓變體類型參數接收?
2012中的Object類型等同於VB6的缺省類型嗎?
object等同variant,但是內置的數組不兼容。