L
lmed
Добрый день, уважаемые форумчане. Помогите, пжл, разобраться в ситуации:
есть простенькая функция в DLL (на с++)
По логике, должна возвращать значение, переданное в параметре.
Подключаю и запускаю эту функцию в action на ls
Функция упорно возвращает - 2. При отладке на с++ видно, что передаваемое из LS значение (в данном случае 300) помещается в поле типа (vt) а не в поля данных.
Собственно вопрос, а почему так происходит? Есть корректный способ передачи Variant из LS в dll?
есть простенькая функция в DLL (на с++)
C++:
long __stdcall SendVar( VARIANT* v)
{
return v->lVal;
}
Подключаю и запускаю эту функцию в action на ls
Код:
Declare Function SendVar Lib "c:\cvv.dll" ( v As Variant) As Long
Sub Click(Source As Button)
Dim k As Long
Dim v As Variant
v = 300
k = SendVar(v)
Messagebox(Cstr(k))
End Sub
Функция упорно возвращает - 2. При отладке на с++ видно, что передаваемое из LS значение (в данном случае 300) помещается в поле типа (vt) а не в поля данных.
Собственно вопрос, а почему так происходит? Есть корректный способ передачи Variant из LS в dll?