

  Dim Adr as long 
  Dim r1(1 To 10) as long 
  Dim r2(1 To 1) as long 
  r1(1) = 33 
  GetMem4 ArrPtr(r1), ArrPtr(r2) 
' До сих пор все ок 
' Пытаюсь удалить массив r1 
  GetMem4 r2, VarPtr(Adr) 
  SafeArrayDestroyDescriptor ByVal Adr 
' Вот после этой строчки глюки ( массив становится интом 
  PutMem4 12, 0 


GetMem4 ArrPtr(r1), ArrPtr(r2)






Public Function StrArrPtr(arr() As String, Optional ByVal IgnoreMe As Long = 0) As Long
  GetMem4 VarPtr(IgnoreMe) - 4, VarPtr(StrArrPtr)
End Function

Public Type VariantInfo
    vt As Integer
    wReserved1 As Integer
    wReserved2 As Integer
    wReserved3 As Integer
    LoUnion As Long
    HiUnion As Long
End Type
CopyMemory <имя пременной типа VariantInfo>, <имя переменной типа Variant>, 16&
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6