Посоветуйте embedded WEB-сервер для GUI-приложенией

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Есть способ конвертировать DLL в LIB и без затей линковать через {$LINKLIB mylib.lib}...
Для начала скачиваем вот этот пакет утилит, разработанных Digital Mars (или переделанных этой компанией) и распаковываем куда-нибудь на видное место утилитку implib.exe.

Из командной строки Windows отдаем следующую команду:

<путь до файла implib.exe>/implib.exe /s /noi <путь до сгегенерированного implib файла> <путь со скопированной DLL>

Но вообще идея не очень умная . ( С DLL вожусь постоянно непреодолимых проблем не замечал ни разу )
tsknv
новенький
Сообщения: 14
Зарегистрирован: 25.09.2015 07:09:26

Сообщение tsknv »

Alex2013 писал(а):Есть способ конвертировать DLL в LIB и без затей линковать через {$LINKLIB mylib.lib}...
Не знал что так можно. Есть опыт работы с таким вариантом работы с DLL? Есть подводные камни?

Alex2013 писал(а):... Но вообще идея не очень умная ....
Почему?

Хотя с
Alex2013 писал(а):... С DLL ... проблем не замечал ни разу
согласен, тоже никаких проблем не было.
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

tsknv писал(а):
Alex2013 писал(а):Есть способ конвертировать DLL в LIB и без затей линковать через {$LINKLIB mylib.lib}...
Не знал что так можно. Есть опыт работы с таким вариантом работы с DLL? Есть подводные камни?

Во первых LIB это не DLL (да, это снова "кеп очевидность" влез, но забывать нельзя )
Во вторых "камни" есть но их не больше чем с DLL. Например разная модель управления памятью( у DLL полностью своя память, а у LIB общая с основным приложением / Что вообще-то обычно только плюс, но нужно учитывать ) Есть хитрости при декларации методов для одних LIB все точно также как для DLL (только имя библиотеки в декларации функций указывать ненужно ) а для других чуть иначе, например декларации не нужны совсем ... плюс не факт, что первый попавшийся конвертер сходу "родит" нужную для FPC версию LIB (нужно настраивать параметры или подбирать сам конвертер )
Alex2013 писал(а):... Но вообще идея не очень умная ....
Почему?

Теряется возможность динамической загрузки .
Зы
Кстати, в состав почти любых крупных фреймворков в стандартную поставку обычно входят СРАЗУ два варианта модулей.
(в виде DLL и LIB на выбор ). :idea:
tsknv
новенький
Сообщения: 14
Зарегистрирован: 25.09.2015 07:09:26

Сообщение tsknv »

Alex2013 - Спасибо за информацию!
Надо будет как нибудь поэкспериментировать с этими LIB... любопытно однако.
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

tsknv
Еще один, довольно "чернокнижный" метод динамической загрузки dll из ресурса посредством проекции её в память с помощью memorymodule
Суть сводится к тому что и dll хранится внутри экзешника как прилинкованные ресурсы (через res) и динамически фиксируются в памяти для использования
Ответить