正文
VB API判断数组为空
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
1.
'API判断数组为空或没有初始化
Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" (ByRef saArray() As Any) As Long
Private Sub Command1_Click()
Dim tmp() As String
If SafeArrayGetDim(tmp) = 0 Then
MsgBox "数组为空或没有初始化"
End If
End Sub
2.
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (
Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function VarPtrArray Lib "msvbvm60.dll" Alias "VarPtr" (Var() As Any) As Long
Private Sub Form_Load()
Dim S() As Long //动态数组
Dim VarPtrArrayAddress As Long //对数组用函数VarPtrArray得到的地址
Dim SafeArrayPoint As Long //'SafeArray结构的指针的值
VarPtrArrayAddress = VarPtrArray(S)
CopyMemory SafeArrayPoint, ByVal VarPtrArrayAddress, 4 //没有分配内存,这时候SafeArrayPoint的值为0
If SafeArrayPoint = 0 Then
MsgBox "空"
End If
End Sub