Что нового

Выполнение функции из dll созданной на VB

IgRo

Знающий
Сообщения
64
Репутация
5
Создал по примеру
http://www.codenet.ru/progr/vbasic/Create-DLL/
библиотеку в VB
Код:
Public Function Sum(ByVal a As Integer, ByVal b As Integer) As Integer
Sum = a + b
End Function
затем хочу использовать её в AutoIT
Код:
MsgBox (1, "TestDLL",  DllCall("TestDLL.dll", "int", "sum", "int",10, "int",5) )

выдает 0
в DLL Export Viewer функция отображается как _Class1::Sum
на VB вызов в таком виде
Код:
Dim Class As New Class1
MsgBox Class.Sum(10, 5)
Как это осуществить на AutoIT
 

snoitaleR

AutoIT Гуру
Сообщения
854
Репутация
223
Предположение...
Может быть, имеет смысл название функции написать с большой буквы?
К примеру, в JavaScript это важно...
 
Автор
I

IgRo

Знающий
Сообщения
64
Репутация
5
замена "sum" на
"Sum", "_Class1::Sum", "_Class1.Sum", "Class1::Sum", "Class1.Sum"
не помогает
Каким то образом нужно создать новый Class
Нечто подобное обсуждалось в http://autoit-script.ru/index.php/topic,694.0.html
Видится путь
1.Зарегистрировать либу через REGSVR32
2. Вооружится OLE/COM Object Viewer
3. Использовать с помощью ObjCreate()
http://www.autoitscript.com/forum/index.php?showtopic=106739&s=1ce8e88a3155ab9abe5b278a46937dc2
 

snoitaleR

AutoIT Гуру
Сообщения
854
Репутация
223
Очень вероятно, так как
VB может создавать только ActiveX библиотеки.
Обрати внимание на первый абзац статьи "Создание DLL на Visual Basic"...
 
Верх