Использование деклараций своей DLL (аналог функции API)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ФАНТОМНЫЙ ЮЗЕР
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 27.12.2007 (Чт) 20:08
Откуда: phpbb_users

Использование деклараций своей DLL (аналог функции API)

Сообщение ФАНТОМНЫЙ ЮЗЕР » 13.03.2005 (Вс) 20:20

Подскажите, пожалуйста как можно использовать декларации функций и подпрограмм собственной динамической библиотеки ActiveX DLL в подпрограммах по аналогии с функциями API?
- в модуле описание:
Код: Выделить всё
Public Declare Function Cmplx Lib "complex.dll" (ByVal Real As Double, ByVal Imag As Double) As Complex

- в форме
Код: Выделить всё
A=Cmplx(5, 4)


При выполнении программы выдаёт ошибку 453:
"Can't find DLL entry point Cmplx in complex.dll" :!:

При этом в доступной информации ссылка на библиотеку присутствует:
- Complex arithmetics

Спасибо.

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 13.03.2005 (Вс) 20:22

А на чём библа написана? Если на ВБ, то ищи по форуму - недавно такая тема была. "Присоединение..." называется.
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 13.03.2005 (Вс) 20:25

Native DLL на VB... Поиск по форуму

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.03.2005 (Вс) 21:01

Amed писал(а):Native DLL на VB... Поиск по форуму

У него как раз не Native, т.ч. пусть RTFM-ает.

Хинт 2oal: у тебя в библиотеке объявлен класс, так? Значит, чтобы им пользоваться, нужно создать объект этого класса :idea:
Изображение

ФАНТОМНЫЙ ЮЗЕР
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 27.12.2007 (Чт) 20:08
Откуда: phpbb_users

Сообщение ФАНТОМНЫЙ ЮЗЕР » 14.03.2005 (Пн) 1:35

А как обойти создание объекта на класс типа?
Код: Выделить всё
Public C as New clsComplex

При таком создании надо к каждой команде пристыковывать символ С:
Код: Выделить всё
A = C.Cmplx(5, 4)

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 14.03.2005 (Пн) 7:58

Свойство класса Instancing, значения 4-GlobalSingleUse и 6-GlobalMultiUse.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

ФАНТОМНЫЙ ЮЗЕР
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 27.12.2007 (Чт) 20:08
Откуда: phpbb_users

Сообщение ФАНТОМНЫЙ ЮЗЕР » 15.03.2005 (Вт) 8:59

Нет, не получается...
Использовал:
Instancing = GlobalMultiUse;
Persistable = все команды.

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 15.03.2005 (Вт) 10:24

А что не получается?

Не получается вызвать через Declare? И не получится.

А если в выражении A=Cmplx(5, 4), то не может быть, если ты, конечно, добавил свою DLL в "Ссылки...".
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

ФАНТОМНЫЙ ЮЗЕР
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 27.12.2007 (Чт) 20:08
Откуда: phpbb_users

Сообщение ФАНТОМНЫЙ ЮЗЕР » 18.03.2005 (Пт) 0:12

В ссылках библиотека Complex.dll присутствует...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 56

    TopList