![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
lollollollol |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
Здравствуйте. Моё приложение использует библиотеки ssleay32.dll и libeay32.dll.
Проблема в том, что если на компьютере нет этих dll, при запуске вылетает ошибка с оответствующим текстом (приложение не запущено т.к. нет длл, переустановите программу и т.д.) Моя задача сделать так, чтобы программа вначале проверила наличие dll, и если их нет - скачала. Для этого нужно динамичесски загрузить dllки. Но вот незадача, в коде видно как используются функции тлько из одной dll, а для работы нужны обе! Вырезка кода из Uses SSLSocket Ссылка где нашел модуль: http://forum.antichat.ru/showthread.php?t=145550
В Связи с этим 2 вопроса : 1. Функции которые динамичесски загрузятся из длл, автоматичесски загрузят всё что нужно из libeay32.dll? 2. Как сделать проверку, и импорт функций, если это используется в отдельном Uses? Хотелось бы при запуске проверить, в теле основной программы. Или перефразирую: Импортирую из dll функции котрые описаны в USES, но ведь от туда они будут не доступны? или я ошибаюсь? |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 4 Всего: 329 |
Просто проверь наличие этих файлов в папке приложения, например.
Добавлено через 2 минуты и 50 секунд
ну и try/except никто не отменял. При скачивании обрати внимание на тот факт, что Windows может дать по зубам твоей программе, т.к. программа будет запущена из папки program files, поэтому на время скачивания нужно запросить повышение/поднятие прав у ОС, чтобы было можно сохранить файлы в program files. |
|||
|
||||
Pseex |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 24.9.2008 Репутация: нет Всего: нет |
||||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 4 Всего: 329 |
я всегда в установщик эти 2 файла "зашиваю"
![]() |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 4 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
lollollollol |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
Дак как я проверю наличие длл, если при запуске, в случае их отсутствия
ошибка:
И эта ошибка выскакивает даже ДО выполниня первой строчки кода. Программа пишется как сервер, не имеет визуальной оболочки. (один .dpr файл) |
|||
|
||||
lollollollol |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
Есть варианты?
|
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 4 Всего: 133 |
В таком случае создай условия, гарантирующие наличие этих баблиотек. К примеру методом, предложенным Akella
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Dik0n |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.5.2011 Репутация: 1 Всего: 10 |
В чем проблема то вообще ?
--------------------
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ◄◄◄ Сотри монеткой защитный слой |
|||
|
||||
lollollollol |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
А вариант с динамической загрузкой?
|
|||
|
||||
lollollollol |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
Точно, не думал что прям в uses можно |
|||
|
||||
lollollollol |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
только остался один вопрос, как из USES добраться до константы основной программы?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |