哦 function checkdimension()as integer on error goto dimension2 ubound(array,2) checkdimension=1 exit function dimension2: checkdimension=2 end function
WizardBear(飞猫_重起机器)弄反了 出错的应该是一维
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Private Declare Function ArrayPtr Lib "msvbvm60.dll" Alias "VarPtr" (TargetArray() As Any) As Long Private Sub Form_Load() Dim b(1, 2, 3, 4) As Byte
Dim lpArray As Long, lDim As Long
CopyMemory lpArray, ByVal ArrayPtr(b()), 4 CopyMemory lDim, ByVal lpArray, 2 Debug.Print "维数 = " & lDim End Sub
function checkdimension()as integer
on error goto dimension2
ubound(array,2)
checkdimension=1
exit function dimension2:
checkdimension=2
end function
出错的应该是一维
Private Declare Function ArrayPtr Lib "msvbvm60.dll" Alias "VarPtr" (TargetArray() As Any) As Long
Private Sub Form_Load()
Dim b(1, 2, 3, 4) As Byte
Dim lpArray As Long, lDim As Long
CopyMemory lpArray, ByVal ArrayPtr(b()), 4
CopyMemory lDim, ByVal lpArray, 2
Debug.Print "维数 = " & lDim
End Sub