Создание DLL23.07.2013, 16:20. Показов 14048. Ответов 103
Метки нет (Все метки)
Код программы (пример использования DLL):
Вот таким образом я всё сделал по инструкции из статей по работе с DLL, но не могу скомпилировать exe: пишет, что нужно скомпилировать сначала второй проект с DLL. Его компиляция (Make Summ.dll), а также (одновременная компиляция всей группы проектов) Make Project Group не дают результата - якобы он не скомпилирован, хотя это не так. Плюс при компиляции DLL выдает сообщение, что нельзя получить доступ к системному регистру (System Registry). В чём может быть дело?
0
|
|||||||||||
| 23.07.2013, 16:20 | |
|
Ответы с готовыми решениями:
103
Создание dll на основе Visual Basic Создание DLL в VB, в которой хранятся формы. |
|
|
||
| 04.08.2013, 02:13 | ||
|
The trick, перегрузка именно с помощью алиасов... ![]() В чем profit?
0
|
||
|
Модератор
|
||
| 04.08.2013, 02:54 | ||
|
Это удобно в плане типобезопасности, если функция принимает в качестве параметров разные типы, то можно сделать несколько вариантов функций для каждого случая, вместо того чтобы объявлять параметры как Any.
0
|
||
|
0 / 0 / 0
Регистрация: 18.05.2018
Сообщений: 2
|
|
| 08.06.2019, 11:56 | |
|
Добавлено через 4 минуты
Цитата Сообщение от Catstail "Лучше всего делать процедурные dll на Power-Basic." ======================================= Добрый день Catstail ! Возможно ли вызывать из VBA (Office 10) процедурные DLL созданные в Power-Basic ? с уважением, Роман
0
|
|
|
Супер-модератор
|
|
| 08.06.2019, 18:32 | |
|
romawhite, добрый день! Насчет вызова процедурных DLL на PB из Офиса навскидку сказать ничего не могу. Надо пробовать. К сожалению, у меня PB сейчас нет под рукой, надо искать.
0
|
|
|
|
||||||||||||||||
| 29.08.2019, 08:44 | ||||||||||||||||
|
Как ни странно, оказалось достаточно просто сделать библиотеку на С++ для использования её а программах на VB 6.0.
На пробу сделал библиотек округления до любого количества знаков после запятой. Логику взял из примеров в этой ветке.
10 - до десятых; 100 - до сотых; 1000 - до тысячных и т.д.
0
|
||||||||||||||||
|
|
|
| 29.08.2019, 17:07 | |
|
0
|
|
|
|
||
| 29.08.2019, 18:29 | ||
|
"Александр Македонский конечной герой, зачем же стулья ломать?" И С++ для простых функций не так у и сложен для понимания. Когда я начинал изучать программирование, было сразу понятно, что математику удобно и просто писать на языке высокого уровня, а управление на ассемблере. правда, тогда он назывался "Мнемокод М-7000". Ничего не изменилось. На VB сделать рабочее окно со всеми "прибамбасами" и математикой, а управление "железом" на С++. Я прав?
0
|
||
|
|
||
| 29.08.2019, 21:16 | ||
|
DLL можно много на каких ЯП писать, потому и спросил, что странного в том, что их можно писать на C++? Это как раз очевидно.
0
|
||
|
|
||
| 29.08.2019, 21:44 | ||
|
На нем даже драйвер написать можно. https://www.cyberforum.ru/blog... g2930.html
0
|
||
|
63 / 48 / 12
Регистрация: 28.12.2014
Сообщений: 270
|
|
| 30.08.2019, 06:20 | |
|
0
|
|
|
|
||||
| 30.08.2019, 09:50 | ||||
|
Думаю, сделать .dll на С++ т.к. почему-то периодически сбивается программа. Есть подозрение из-за моего незнания, как сделать семафор для работы с БД. Программа пишет в БД, но при этом может происходить считывание её PHP скриптом для передачи клиенту, а т.е. клиентов более трёх, могут возникать коллизии. Просто постараться ускорить работу с приборами и повысить надёжность связи. Дополнение строки команды для управления прибором двумя байтами CRC16 на VB 6.0 долго и проверка истинности полученной информации от прибора, снабжённой так же CRC16, так же требует времени. Как-то так. Добавлено через 13 минут Забыл. Адаптер производства "ОВЕН" АС3М он использует только Tx, Rx и землю. Остальные сигналы RS-232 должны игнорироваться. MSComm не работает с тайм-аутами и приходится включать таймер VB 6.0 на 500 мс, иначе - потеря данных. При использовании Win32API можно сделать всё лучше, но пока не могу понять без анализа содержимого буфера, как определить, что функция завершилась штатно или выход из неё произведён по тайм-ауту. И тайм-аута достаточно на 10 мс.
0
|
||||
|
|
|||||
| 31.08.2019, 09:43 | |||||
![]() Если говорить о быстродействии, многое зависит не от языка, а от компилятора и того как написан код. Вы же не написали ни какой используется компилятор C++, ни уровень оптимизации, не привели фрагмент кода на VB и C++ и т. д. О чем в таком случае можно говорить? ![]() В крайнем случае можно использовать табличный метод что сведет вычисления практически к нулю. Я решил проверить сколько времени занимает вычисление CRC16. Создал массив размером 1000 байт и в цикле 1000 раз вычислил CRC16 (это соответствует потоку данных миллион байт). Это заняло примерно 0.05 секунды. По вашему медленно?
0
|
|||||
|
|
|||
| 31.08.2019, 10:41 | |||
|
Понимаю, что во многом рассуждаю по дилетантски, понимаю, что можно и на ассемблере написать программу-"тормоз", занимающую объём памяти больше, чем программа на VB. Пусть это будет моей личной блажью и интересом расширить познания в ЯП.
0
|
|||
|
|
||
| 31.08.2019, 12:09 | ||
|
Я процитировал ваши сообщения, т.к. они, и сообщения других форумчан, привели к мысли, что весьма проблематично написать библиотеку на VB 6.0 для последующего её использования с программами на других ЯП. Именно сообщения в данной ветке форума и привело к мысли поработать с С++, т.к. получаются более универсальные, в смысле применения, .dll.
У меня сейчас 9600 bps. Стандарт. И даже на такой скорости, при длине экранированной пары - 60 м, иногда идут ошибки чтения из-за мощных электромагнитных помех. Сбои бывают даже во время солнечных бурь. Это привело к расширению обработчика ошибок. А это время. Возможно я не прав. Но, если работает только программа и сервер, Windows "живёт своей жизнью" не спрашивая моего разрешения.
0
|
||
| 31.08.2019, 12:09 | |
|
Создание процедурных DLL в Visual Basic (статья) Visual Basic + VC++ DLL = ошибка Bad DLL calling convertation Ошибка Can't find DLL entry point CryptEnumProvidersA in advapi32.dll ntdll.dll и kernel32.dll - Реальные примеры работы на vb6 За какую функцию отвечают user32.dll,kernel32,winmm.dll Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, 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,. . .
|