查看: 37  |  回复: 0
  VB6 SafeArrayGetDim的正确写法
楼主
发表于 2024年12月5日 16:43

SafeArrayGetDim的错误写法:

Private Declare Function SafeArrayGetDim Lib "oleaut32" Alias "#17" (ByRef psa() As Any) As Long
'Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" Alias "#17" (ByVal pas As Long) As Long

Private Sub Command1_Click()
    Dim arr(2, 3, 4, 5) As Long
    Debug.Print SafeArrayGetDim(arr)
End Sub

运行结果:

 61880

SafeArrayGetDim的正确写法:

'Private Declare Function SafeArrayGetDim Lib "oleaut32" Alias "#17" (ByRef psa() As Any) As Long
Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" Alias "#17" (ByVal pas As Long) As Long

Private Sub Command1_Click()
    Dim arr(2, 3, 4, 5) As Long
    Debug.Print SafeArrayGetDim(Not Not arr)
End Sub

运行结果:

 4

注意上方Declare是不同的。

您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com