Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.98/43: Рейтинг темы: голосов - 43, средняя оценка - 4.98
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22

Подключить библиотеку dll

01.03.2017, 09:35. Показов 13134. Ответов 166
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Данным диалектом Бейсика не пользуясь, но иногда здесь бываю. Решил немного поучаствовать. Собственно вопрос в следующем: можно ли пользоватся сторонними библиотеками в этом диалекте, насколько сложен процесс использования? Цель - есть своя xll для VBA, можно убрать обертку будет dll, выложу здесь для тех кто много считает, большими числами) (Гугл не спрашивал ибо важно понять, есть целесообразность в данном продукте?)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.03.2017, 09:35
Ответы с готовыми решениями:

Не получается подключить библиотеку Unmanaged.dll (Firefox nss3.dll)
Здравствуйте, начал изучать c#, очень понравилась тема декриптования, для начала решил из исходников собрать приложение для декриптования и...

Подключить библиотеку dll
Имеется программа nircmd.exe, которая с помощью батника позволяет выполнять различные комманды К примеру запуск батника NirCmd.exe exec...

Как подключить dll библиотеку?
Здраствуйте, есть такой вопрос, как можно подключить *.dll библиотеку к код блокс или к вижал студио?

166
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
02.03.2017, 18:50
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от bedvit Посмотреть сообщение
Выходит dll нет смысла в данной ситуации делать, хотя идея была и Михаилу было бы интересно. Я так понял могут быть сложности с подключением.
Тут вопрос больше целесообразности. Где вообще это применяется? А то вы сделаете, а использовать
никто не будет, зачем вам тратить лишнее время, сделайте лучше видео туториал по тому, что у вас
уже есть, т.е. как подключать модуль как его использовать, назначение функций. В макросах
ничего сложного нет, любой программер прыгнет на VBA, если будет потребность.

Да и что-то подсказывает, что разработать алгоритм для асма будет по времени быстрее, чем
портировать эту матрёшку с кучей обёрток.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
02.03.2017, 19:14  [ТС]
Возможно есть смысл использовать библиотеки MPIR или GMP, они по-моему с неуправляемым кодом.

Добавлено через 18 минут
Цитата Сообщение от Quiet Snow Посмотреть сообщение
прыгнет на VBA, если будет потребность
. Если будет потребность я всегда здесь, здесь же и собственно библиотека в последней редакции.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
портировать эту матрёшку с кучей обёрток.
В какой то степени согласен, для других продуктов возможно больше подойдут библиотеки отмеченные выше. Моя же делалась для Excel (vba).
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
02.03.2017, 23:19
С COM работать очень даже просто. Ищешь DllGetClassObject, запрашиваешь IClassFactory, создаешь нужный объект с нужным интерфейсом и все. Можно работать хоть из ассемблера.
https://www.cyberforum.ru/blog... g3550.html - вот тут показано как нативно работать с COM либами.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
03.03.2017, 15:55  [ТС]
The trick, спасибо за инфу. Это для VB6?
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
26.03.2018, 22:49  [ТС]
Но вот, дошли руки до долгостроя, обернул в COM.
Собственно сам Продукт.

Цитата Сообщение от m-ch Посмотреть сообщение
bedvit, Думаю, что есть смысл сделать в виде dll, которая будет подключатся в любом современном языке т.ч. в FreeBasic (для меня это интересно)
Господа, протестируем ?
0
Эксперт по электронике
7172 / 3349 / 344
Регистрация: 28.10.2011
Сообщений: 13,191
Записей в блоге: 7
26.03.2018, 23:21
Почему с COM интерфейсом? Это ведь требует регистрации в системе, для чего нужны права администратора. Для приложений без установщика не подойдет.
Лучше бы сделали процедурную DLL.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
26.03.2018, 23:31
Цитата Сообщение от locm Посмотреть сообщение
Почему с COM интерфейсом? Это ведь требует регистрации в системе, для чего нужны права администратора. Для приложений без установщика не подойдет.
Лучше бы сделали процедурную DLL.
Нет.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
27.03.2018, 08:12  [ТС]
locm, это не требует прав администратора. Процедурные подходят для одних компиляторов, не подходят для других. COM читается на многих.

Добавлено через 3 минуты
locm, вы почитайте инфо по ссылке. Там я все показал.
0
Эксперт по электронике
7172 / 3349 / 344
Регистрация: 28.10.2011
Сообщений: 13,191
Записей в блоге: 7
27.03.2018, 12:02
Цитата Сообщение от bedvit Посмотреть сообщение
не подходят для других
Хотите сказать что многие языки/компиляторы не могут работать с WinAPI LoadLibrary и GetProcAddress?
Загрузка COM значительно сложнее.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
27.03.2018, 12:16
Цитата Сообщение от locm Посмотреть сообщение
Загрузка COM значительно сложнее.
CoCreateInstance
0
Эксперт по электронике
7172 / 3349 / 344
Регистрация: 28.10.2011
Сообщений: 13,191
Записей в блоге: 7
27.03.2018, 12:52
Цитата Сообщение от The trick Посмотреть сообщение
CoCreateInstance
Для этого нужно регистрировать dll. А кроме этого нужно вызывать еще и методы...
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
27.03.2018, 12:54
locm, не нужно. Чем вызов метода отличается от вызова экспортируемой функции?
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
27.03.2018, 13:33  [ТС]
locm, вы хотите сказать COM придумали зря для передачи объектов? Каким образом мне передать объект со свойствами к пример в VBA? или в 1С? Как WinAPI LoadLibrary и GetProcAddress это решают? Смысл именно в передачи объекта с методами, свойствами, а не функций.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
27.03.2018, 14:44
Цитата Сообщение от bedvit Посмотреть сообщение
Как WinAPI LoadLibrary и GetProcAddress это решают
Это в определенных случаях часть этого механизма (in-proc сервера).
0
Эксперт по электронике
7172 / 3349 / 344
Регистрация: 28.10.2011
Сообщений: 13,191
Записей в блоге: 7
27.03.2018, 15:14
bedvit, хотите сказать что из VBA или 1С нельзя вызывать WinAPI функции? Вызов функций из процедурной DLL аналогичен WinAPI.
Вот к примеру для VBA MsgBox _ автоматическое нажатие vbYes через 2 минуты ожидания

К тому-же ничего не мешает сделать универсальную DLL, которая будет одновременно COM и процедурной.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
27.03.2018, 15:26
Цитата Сообщение от locm Посмотреть сообщение
1С нельзя вызывать WinAPI функции?
Напрямую нет, только через ActiveX враппер, насколько мне известно. Тоже самое с vbs к примеру. Смысл писать не ActiveX dll если для ее использования нужна сторонняя ActiveX dll?
Цитата Сообщение от locm Посмотреть сообщение
К тому-же ничего не мешает сделать универсальную DLL, которая будет одновременно COM и процедурной.
Нет в этом смысла.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
27.03.2018, 15:55  [ТС]
locm,
Цитата Сообщение от locm Посмотреть сообщение
WinAPI функции
- да, объекты и классы - нет. Еще раз прошу обратить внимание, что передается объект, а не функция. Через WinAPI нельзя передать объект. Поэтому придумали COM. Та же контора
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
27.03.2018, 15:56
Цитата Сообщение от bedvit Посмотреть сообщение
Через WinAPI нельзя передать объект
Можно
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
27.03.2018, 15:57
Перечитал эту тему, уже ничего не помню, что мы тут обсуждали. Но.

Версия 0.0.0.1 под x64 (x32 - пока не поддерживаю).
Вот это вот меня обломает на тестинг. У меня 32 битный компиль, на 64 пока не планировал
перескакивать. Не хочу Стасу мозги морочить вопросами про нюансы 64 бит *.dll.
Кстати перенесите в корень, а то, увидев эту тему в списке, уже хотел материться,
потому что то файловый менеджер, то Jpeg, а тут ещё и *.dll* на кубейсике.
Уж грешным делом подумал, что парни совсем очумели.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
27.03.2018, 16:03  [ТС]
The trick, как? Мне было бы интересно узнать. Зачем тогда полвинды и весь офис на сом объектах?

Добавлено через 2 минуты
Quiet Snow, популярный раздел!)) (переносит модератор?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2018, 16:03

Как подключить .dll библиотеку?
Есть готовый код на С++ /*---------------------------------------------------------------------------- * * демонстрация ElByECC.DLL ...

Не могу подключить dll библиотеку
Вообщем есть библиотека Visa32.dll и я не могу ее подключить. Так же есть два заголовочных файла - Visa.h и visatype.h. В про файле...

Как подключить библиотеку 7z.dll?
Как подключить библиотеку 7z.dll. Я скачал архив с сурсами, откопал 7z.dll пытаюьс добавить в проект ошибка "Не удалось добавить сылка...

Как подключить библиотеку i7000.dll?
у меня есть библиотека i7000.dll библиотека необходимая для работы с com портами все остальное работает нормально а эта работает только с 3...

Как подключить библиотеку shell32.dll ?
Решил воспользоваться примером открытия файла с помощью необходимого приложения. В примере используется API, команда. Я сделал всё как...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru