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

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

01.03.2017, 09:35. Показов 13176. Ответов 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
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 15:39
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от locm Посмотреть сообщение
При корректном использовании и мой метод нормально работает.
Ты не пояснил как. Я тебе привел пример с множественным использованием твоего объекта и объяснил как контролируется время его жизни в COM и WinAPI (ядерные объекты). Как в твоем случае это будет работать?
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 16:01
Цитата Сообщение от The trick Посмотреть сообщение
Как в твоем случае это будет работать?
Разве по коду не видно как оно будет работать?
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 16:03
Цитата Сообщение от locm Посмотреть сообщение
Разве по коду не видно как оно будет работать?
Нет. Непонятно как сервер (твоя dll) узнает сколько клиентов используют предоставляемые ею объекты.
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 16:08
Я имел в виду, разве по коду непонятно как он работает? Тут писали что намного удобнее когда из DLL экспортируется одна функция вместо 50. Мой вариант код позволяет это сделать.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 16:16
Цитата Сообщение от locm Посмотреть сообщение
Я имел в виду, разве по коду непонятно как он работает? Тут писали что намного удобнее когда из DLL экспортируется одна функция вместо 50. Мой вариант код позволяет это сделать
Не понятно как следить за временем жизни объекта если на него ссылаются несколько раз. Кто должен вызывать Release и когда? К примеру объекты хранятся в 2 контейнерах, и пользователи их случайно удаляют оттуда. В твоем случае нужно будет проверять нет ли во втором контейнере этого объекта и если нет, то уничтожать его. А если не 2 контейнерах, или к примеру мы не можем контролировать поведение если это какой-то внутренный список какой-либо dll? Счетчик ссылок в IUnknown позволяет это делать через подсчет ссылок, каждый кто вызывал AddRef или запрашивал успешно нужный интерфейс вызывает Release и все работает. Также в коде нет концепции интерфейсов, спросил как реализовывается - не получил ответа.
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 16:22
Цитата Сообщение от The trick Посмотреть сообщение
Не понятно как следить за временем жизни объекта если на него ссылаются несколько раз. Кто должен вызывать Release и когда?
Точно также как с выделением и освобождением памяти.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 16:35
Цитата Сообщение от locm Посмотреть сообщение
Точно также как с выделением и освобождением памяти.
Как? Конкретно. В C++ для этого есть к примеру умные указатели которые работают с тем же подсчетом ссылок или к примеру не дают двум указателям ссылаться на один и тот же объект. Как это будет реализовываться в коде отсюда (на примере двух/трех списков).
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 16:42
Цитата Сообщение от The trick Посмотреть сообщение
Как? Конкретно.
Конкретно HeapAlloc и HeapFree или аналогичные функции работающие с памятью.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 16:58
Цитата Сообщение от locm Посмотреть сообщение
Конкретно HeapAlloc и HeapFree или аналогичные функции работающие с памятью.
В общем ты меня не понимаешь по-видимому.
Смотри, вот пример.
Имеем 2 списка. Пользователь создал объект и положил в один список. Потом из этого списка скопировал ссылку на этот объект в другой список. И так создавал множество объектов в течении работы программы и раскидывал их по спискам. Далее он стал удалять объекты из списков также хаотично. По твоей логике, если он удаляет объект из одного списка он должен вызывать Release? А если ссылка на этот объект есть в другом списке? Что нужно проверять второй список полностью? А если списков несколько?
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 17:43
Зачем создавать множество копий и тем более забывать о том где и что находится? Если программист такое допускает, то не удивлюсь что его программы нестабильны.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 17:47
Цитата Сообщение от locm Посмотреть сообщение
Зачем создавать множество копий и тем более забывать о том где и что находится?
Причем тут копий? Это не копии, это ссылки на один и тот же объект. Это используется повсеместно. Когда ты открываешь процесс через OpenProcess ты получаешь ссылку (хендл) на объект ядра. Это не копия объекта ядра, это именно неявная ссылка не него. И любой другой процесс может открыть тот же самый процесс и получить свой хендл на все тот же процесс.

Цитата Сообщение от locm Посмотреть сообщение
Если программист такое допускает, то не удивлюсь что его программы весьма нестабильны.
Да почти в любой более-менее серьезной программе используются ссылки на объект. Не зря же придумали тот же самый shared_ptr.
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 18:22
Цитата Сообщение от The trick Посмотреть сообщение
Причем тут копий? Это не копии, это ссылки
Копии ссылок.

Цитата Сообщение от The trick Посмотреть сообщение
это ссылки на один и тот же объект.
На объект, или экземпляр объекта?
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 18:24
Цитата Сообщение от locm Посмотреть сообщение
Копии ссылок.
А что в этом такого? Используется повсеместно.

Цитата Сообщение от locm Посмотреть сообщение
На объект, или экземпляр объекта?
А в чем разница? Во фразе "это ссылки на один и тот же объект" нет никакой двусмысленности.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
05.05.2018, 11:02
Итак, простая задача.

Я создаю отображение файла через CreateFileMapping с именем "MyFile" для межпроцессного взаимодействия и записываю туда данные. Какой‐то другой процесс открывает моё отображение файла "MyFile" через OpenfileMapping и читает оттуда данные. Я не знаю что это будет за процесс и какое количество процессов будет читать данные. Когда мой процесс закрывается, то другие процессы могут ещё читать мои данные из отображения, поэтому отображение "MyFile" не уничтожается по завершению моего процесса, оно уничтожается после того, как все процессы перестанут с ним работать и закроются.

Как с точки зрения операционной системы решить такую простую задачу?
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
05.05.2018, 11:05
Цитата Сообщение от Замабувараев Посмотреть сообщение
Как с точки зрения операционной системы решить такую простую задачу?
Счетчик ссылок, в Windows именно так и реализовано.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
05.05.2018, 11:49
Цитата Сообщение от The trick Посмотреть сообщение
Счетчик ссылок
Сейчас прибежит locm, и скажет, что вместо счётчика ссылок нужно написать документацию и самостоятельно отслеживать всех процессы, которые ссылаются на моё отображение файла.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
05.05.2018, 12:09  [ТС]
24/04/2018 - Новая версия BedvitCOM v.1.0.0.3 и BedvitXLL v.1.0.0.3 (поддержка х32 и х64)

1. Добавлены новые функции в два класса библиотеки COM - арифметика длинных чисел с обычными, т.е. теперь можно совершать арифметические действия длинных чисел с обычными.
2. Добавлен механизм очистки/освобождения памяти как для одного числа, так и для класса/объекта в целом.
3. Сделано новое описание для всех свойств и методов двух классов на русском языке в справке.
4. XLL теперь удаляет данные из реестра (COM.DLL) под пользователем при закрытии надстройки.
Исходники.

Осталось теперь понять, как можно это на freebasic и qbasic использовать. У меня и компиляторов нет, этих языков. Никто не хочет попробовать, пока Quiet Snow занят?

Добавлено через 18 минут
Сейчас прибежит locm
ждём битву титанов.
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
05.05.2018, 15:00
Цитата Сообщение от bedvit Посмотреть сообщение
как можно это на freebasic и qbasic использовать
Для начала придумайте способ загрузить библиотеку в 16-ти битное DOS приложение.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
05.05.2018, 16:09  [ТС]
locm, вспомнил такой ньюанс) Обобщая:
1.Visual basic 6 - подключение СОМ несколько строк строкой
2.VB.NET) - подключение СОМ несколько строк строкой
3.VBA - подключение СОМ несколько строк строкой
4.Qbasic - 16 бит о всем говорят
5.Pure Basic видимо так же,как и в
6.Freebasic - несколько сложнее. Понять и простить Понять на сколько...
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
05.05.2018, 16:15
Цитата Сообщение от bedvit Посмотреть сообщение
Pure Basic
Судя по http://www.purebasic.info/phpB... f=8&t=2262 все довольно просто.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.05.2018, 16:15

Как подключить .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, команда. Я сделал всё как...


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

Или воспользуйтесь поиском по форуму:
160
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
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 существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru