PDA

Просмотр полной версии : Создание библиотек



Azazel
11.04.2004, 06:51
Можно ли создать dll-библиотеку API функций при помощи VB?

Naeel Maqsudov
15.04.2004, 03:39
Вопрос не понятен.

1) Можно создать DLL, экспортирующую набор некоторых функций
2) Можно в своей программе использовать функции из других библиотек, в том числе, функции WinAPI. Главное, чтобы функции использовади соглашение о передаче параметров stdcall. (см директиву Declare)

Anonymous
15.04.2004, 07:18
Имеется в виду создать dll-ку с функциями из определенной области физики, чтобы подключить в Excel командой Declare из VBA. Вопрос в чем: можно ли создать такую библиотеку в VB 6.0. Я пробовал - из Excel не вызывается, только вешается система. Возможно ли написать такой модуль или нет? И если можно, то какую структуру должен иметь этот модуль?

Naeel Maqsudov
15.04.2004, 08:30
Я пробовал подключал DLL, компилированную в Delphi.
Никаких проблем.

Экспортируемые функции должны поддерживать соглашение stdcall.
Если речь идет о VB, то с типами данных все предельно ясно. Типы совместимы. Строки должны передаваться/возвращаться по ссылке: "ByRef S as string". Byte, Integer, Long, Single и Double передаются по значению.

Если есть проблемы, то, как говорится, КОД В СТУДИЮ. Так как сочинять пример некогда, а на готовом разберем что не так...

Anonymous
15.04.2004, 09:43
Пример:
VB:
function a(byVal v As Double) As Double
a=v^2
end function
далее компилирую проект a.dll

Excel:
Declare Function a Lib "a.dll" (ByVal v As Double) As Double

вызов процедуры выдает: #ЗНАЧ