Создание DLL23.07.2013, 16:20. Показов 14032. Ответов 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, в которой хранятся формы. |
|
Супер-модератор
|
|
| 25.07.2013, 14:36 | |
|
В PowerBasic я оптимизацию не трогал. Просто взял - и скомпилировал. Не настаиваю, что PowerBasic порождает самый лаконичный код. А Ваш пример на каком Бэйсике?
Добавлено через 7 минут А, увидел... Но тогда почему кто-то писал, что у PureBasic есть проблема в этом вопросе?
0
|
|
|
|
||
| 25.07.2013, 15:19 | ||
|
0
|
||
| 27.07.2013, 16:41 [ТС] | |||||||
Вот пример кода DLL - сложение двух чисел. Он больше, чем на PowerBasic по объёму. Но здесь мною написано лишь 5 строк - 9-13. Остальное компилятор сам вставляет. А вот насчёт оптимизации - как её здесь делать, не знаю. Эта DLL весит 86 КБ.
0
|
|||||||
|
Модератор
|
|||||||
| 27.07.2013, 17:24 | |||||||
Сообщение было отмечено The trick как решение
РешениеКликните здесь для просмотра всего текста
656 байт.
1
|
|||||||
|
|
|||||||
| 27.07.2013, 18:20 | |||||||
![]() На ЯВУ сможете добиться того же размера без танцев в бубном? ![]() У мня получилось из этого кода:
1
|
|||||||
|
|
|||
| 27.07.2013, 19:04 | |||
|
Разница между процедурой и функцией лишь в том, что первая не возвращает результат. Если в процедуре нет оператора ProcedureReturn, то она работает как процедура, а если есть, то как функция.
0
|
|||
| 27.07.2013, 19:34 [ТС] | |
|
По Delphi специально поискал, как можно оптимизировать DLL на нём. Ведь, как я писал раньше, без оптимизации его объем 85 КБ.
В итоге у меня получилось минимум 14 КБ. Меньше никак. Так что в плане экономии памяти DLL на PowerBasic лучше чем на Delphi. Добавлено через 8 минут Ещё есть вопрос по DLL. У нас во всех примерах на VB здесь статическая загрузка DLL, т.е. при ней DLL выгружается из памяти при окончании работы программы. Это не экономно, т.е. если мы один раз использовали функцию из DLL и больше она нам не нужна, то она всё равно находится в памяти, готовая к использованию. Есть ещё динамическая загрузка, когда её можно выгрузить из памяти в любой момент, если она больше не используется. Интересует, как это сделать.
0
|
|
|
|
||
| 27.07.2013, 20:22 | ||
|
У меня загружает (см. скрин). У вас случайно на x64 система? Можете мне скинуть скомпилированную VB-прогу, которая загружает dll из корня диска C: (т. е. "C:\Test.dll")? Тогда узнаем в чем дело, в VB или в компе.
0
|
||
|
|
|
| 27.07.2013, 20:36 | |
|
То есть не загружается только при запуске в IDE?
А если запустить в IDE с отключенным отладчиком? Может в нем проблема?
0
|
|
| 27.07.2013, 20:36 | |
|
Создание процедурных 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|