我不熟悉 CopyMemory,但想弄清楚如何计算复制整个数组的长度。非常感谢您的帮助。
假设有一个二维数组,其值类型包括字符串、整数、单个等。代码如下:
Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Sub Test4()
Dim arr(1 To 3, 1 To 2)
arr(1, 1) = "abc"
arr(2, 1) = "befgh"
arr(3, 1) = 1
arr(1, 2) = 468888
arr(2, 2) = 999.8
arr(3, 2) = "ijklmnopq"
Dim brr(1 To 3, 1 To 2)
CopyMemory VarPtr(brr(1, 1)), VarPtr(arr(1, 1)), 16 * Ubound(arr) * Ubound(arr,2)
End Sub
长度不包括 arr 的范围,只是复制一些值而不是 all 。我想知道如何计算复制所有值的长度。