Как в VB создать буфер определенной длинны и получить на него указатель (API функция ?). Другими словами, как найти замену обычному выражению
Dim Var as SomeType
И еще, как освободить выделленую память, если буфер уже не нужен?
Dim b() As Byte
...
ReDim b(1024)
MsgBox VarPtr(b(0))
...
Erase b
Sub FormateStringAPI(lVarPtr As Long, Value As String)
Dim S As String
Dim m1 As Long
'Получаем указатель на строку
CopyMemory m1, ByVal lVarPtr, 4
'Нечего надеяться на самоудаление
SysFreeString m1
'Опять используем волшебную функцию
S = StrConv(SysAllocString(StrPtr(Value)), vbFromUnicode)
'Присваиваем указатель
CopyMemory ByVal lVarPtr, StrPtr(S), 4
End Sub
Сейчас этот форум просматривают: Google-бот и гости: 112