Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.01.2022
Сообщений: 15

Создание/вызов функции из внешней dll (?)

12.02.2025, 16:47. Показов 2509. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Скомпилировал внешнюю dll из кода Pure Basic, простейшая функция сложения 2-ух чисел, вызываю её из vba и получаю ошибку :
"Run-time error 453: Can't find DLL entry point AddNumbers"

Pure Basic код:
PureBasic
1
2
3
4
EnableExplicit
ProcedureCDLL.d AddNumbers(a.d, b.d) 
  ProcedureReturn a + b
EndProcedure
vba код :
Visual Basic
1
2
3
4
5
6
Declare PtrSafe Function AddNumbers Lib "C:\Test\mExp.dll" (ByVal a As Double, ByVal b As Double) As Double
Sub Test_AddNumbers()
  Dim result As Double
  result = AddNumbers(5.2, 3.8)
  MsgBox "Результат: " & result
End Sub
Сборка dll проходит без ошибок и предупреждений, vba тоже компилируется без ошибок. Понимаю, что проблема на стороне сборки dll, т.к. vba не видит точку входа при вызове функции.
Пож-та, подскажите в чём может быть дело?
Спасибо )
P.S. Windows' 64/ MS Office'64/ Pure Basic 5.70 LTS (x64)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2025, 16:47
Ответы с готовыми решениями:

Протокол MODBUS. Не работает вызов вызов функции из подключенной библиотеки DLL внутри функции purebasic
Доброго дня всем. Задача определить ip подключенного устройства. При работе непосредственно из основного кода программы ip...

Создание границы в Excel при вызове макроса из Word'а
Доброго времени суток! Проблема следующая: В Word'е выполняется макрос, который в определённый момент вызывает Excel. Создаёт...

Создание пользовательской функции
Прошу Вас! Cоздайте функцию пользователя z=e^-x*корень |x^3 - у^3|корень закр. - x^2/y Очень Вас прошу помочь Заранее благодарен!

21
0 / 0 / 0
Регистрация: 06.01.2022
Сообщений: 15
18.02.2025, 09:46  [ТС]
Студворк — интернет-сервис помощи студентам
locm,
Прошу прощения за свою невнимательность. Вы правы. Перепроверил. 2Кб это lib-файл, а размер dll остался 7Кб.
AZJIO,
Спасибо за справку, пригодится однозначно ) Я делаю первые шаги в изучении PB. Ранее был Fortran, сейчас уже как долгие годы хватает vba, но в нём не всё есть. Вот и смотрю в сторону компилируемых и близких к vba по синтаксису языков для написания недостающего функционала в dll.
0
63 / 61 / 3
Регистрация: 06.11.2010
Сообщений: 186
Записей в блоге: 1
18.02.2025, 09:57
AAganin, вот моя подборка для быстрого погружения в PureBasic - ссылка1, ссылка2, ссылка3, ссылка4
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2025, 09:57

Создание dll на основе Visual Basic
Помогите решить рабочую задачу: создание dll на основе visual basic. Требуется трехмерная модель с указанием переменных размеров. Размеры...

Создание пользовательской функции в Excel, VBA
Добрый день. Столкнулся с проблемой создания пользовательской функции в MS Excel, используя VBA. Если я правильно понял, это и есть...

Создание функций в VBA
Здравствуйте.Не поручается выполнить эти 2 задания. 1. функцию FIO(), выделяющую из фамилии имени и отчества, содержащихся в разных...

Создание dll для поддержки скинов
Добрый день, понадобилась помощь в разработке dll для поддержки скинов в других ЯП, сам пишу на AutoIt но там не очень хорошо создавать...

Создание пользовательской функции в Excel
Помогите решить данную задачу в Excel используя Visual Basic (ALT+F11) Вот типа того: Function stom(a, b) If a > 10 Then stom =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru