Добрый Кот
Сообщений: 147
Оценки: 0
Присоединился: 2007-10-03 11:12:53.556666
|
Не могу вызвать функцию, уже все перепробовал, и CALL и просто и через переменную….помогите вызвать, вот код: Private Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" (ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long) Private Declare Sub ZeroMemory Lib "KERNEL32" Alias "RtlZeroMemory" (ByVal Destination As Long, ByVal numBytes As Long) Private Type SecondType A() As Long B As Long C As Variant D As String End Type Dim p As String '=============================== Private Function ShrinkArray_SecondType(ByRef nArr() As SecondType, ByVal nIndex As Long) If UBound(nArr) = nIndex Then ReDim Preserve nArr(nIndex - 1) Else If nIndex < LBound(nArr) Or nIndex > UBound(nArr) Then Err.Raise 10, , "Откуда этот индекс?" Else Erase nArr(nIndex).A nArr(nIndex).C = Empty nArr(nIndex).D = vbNullString CopyMemory VarPtr(nArr(nIndex)), VarPtr(nArr(nIndex + 1)), (UBound(nArr) - nIndex) * LenB(nArr(0)) ZeroMemory VarPtr(nArr(UBound(nArr))), LenB(nArr(0)) ReDim Preserve nArr(UBound(nArr) - 1) End If End If End Function надо вызвать функцию ShrinkArray_SecondType
|