У меня есть dll, которая использует эту подпись:
SFetch(cursor As Integer, pstruct As Any, size As Integer) As Integer
Я могу вызвать ее с помощью простых переменных, таких как Integer
или более сложных, с пользовательскими типами.
Я хочу создать функцию, которая получит параметр и отправит его в dll, я пробовал разные решения, но всегда есть ошибки.
Во всех случаях я так и назвал:
Dim val As Integer
...
.ExecuteRead val, LenB(val)
Public Sub ExecuteRead(ByVal pstruct, structSize As Integer)
SFetch1 c, pstruct, structSize
Возвращено Null
вместо значения
Public Sub ExecuteRead(pstruct, structSize As Integer)
SFetch1 c, pstruct, structSize
Возвращено Variable uses an Automation type not supported in Visual Basic
Public Sub ExecuteRead(pstruct As Variant, structSize As Integer)
SFetch1 c, pstruct, structSize
Возвращено Variable uses an Automation type not supported in Visual Basic
Public Sub ExecuteRead(pstruct As Object, structSize As Integer)
SFetch1 c, pstruct, structSize
Невозможно вызвать функцию ByRef argument type mismatch
Public Sub ExecuteRead(pstruct As Any, structSize As Integer)
Даже не скомпилируется, Syntax error