VB6 + FreeBasic DLL. Передача массива.
FreeBasic :: Программирование :: Общее
Страница 1 из 1
VB6 + FreeBasic DLL. Передача массива.
Подскажите как передать функции в FB массив из VB6 и как с ним работать внутри функции?
Желательно через указатель.
Т.е. мне нужна функция в VB такого типа
in_len и out_len - Размер массивов.
Из VB вызывается примерно так: FNCT1 VarPtr(arr1(0)), 100, VarPtr(arr2(0)), 100
Перерыл пол интернета, даже находил статьи, но то, что в них писалось не работало...
Если можно, напишите простейший пример функции как работать с этими массивами. Буду очень благодарен.
Желательно через указатель.
Т.е. мне нужна функция в VB такого типа
- Код:
Declare Function FNCT1 Lib "lzo.dll" (ByVal in_array As Long, ByVal in_len As Long, ByVal out_array As Long, ByVal out_len As Long,) As Long
in_len и out_len - Размер массивов.
Из VB вызывается примерно так: FNCT1 VarPtr(arr1(0)), 100, VarPtr(arr2(0)), 100
Перерыл пол интернета, даже находил статьи, но то, что в них писалось не работало...
Если можно, напишите простейший пример функции как работать с этими массивами. Буду очень благодарен.
AWPStar- Сообщения : 6
Дата регистрации : 2011-04-05
Re: VB6 + FreeBasic DLL. Передача массива.
О! Нашел где-то!
FB
VB
Причем работает как будто массив объявлен как ByRef...
Что-то непонятное.
Вопрос такой, как объявлять глобальные переменные? Чтобы из процедур юзать?
FB
- Код:
Function LenVector ALIAS "LenVector"(ByVal r As Double ptr) As Double export
LenVector = Sqr(r[1] ^ 2 + r[2] ^ 2 + r[3] ^ 2)
End Function
VB
- Код:
Declare Function LenVector Lib "test.dll" (r As Double) As Double
Private Sub TestVector()
Dim a As Double, r(0 To 3) As Double
r(1) = 5: r(2) = 4: r(3) = -1
a = LenVector(r(0))
End Sub
Причем работает как будто массив объявлен как ByRef...
Что-то непонятное.
Вопрос такой, как объявлять глобальные переменные? Чтобы из процедур юзать?
AWPStar- Сообщения : 6
Дата регистрации : 2011-04-05
Глобальные переменные
И это нашел...
Можно тему закрыть
- Код:
dim shared
Можно тему закрыть
AWPStar- Сообщения : 6
Дата регистрации : 2011-04-05
FreeBasic :: Программирование :: Общее
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|