Есть отдельная папка в Temp. Туда при запуске программы с ресурсов распаковываются библиотеки ssleay32.dll и libeay32.dll для Synapse. Но никак не удается подключить их с той директории. Если только положить рядом с программой, то все работает без проблем. Путь указываю в LoadLibrary. Даже при использовании пути D:\***.dll все равно не работает. Что я делаю не так?
» Подключение библиотеки dll из другой папки в Delphi
alex0413, а пробовал своё приложение запускать от имени администратора?
alex0413,
смотрим
Цитата:
Так может это... Посмотреть в GetLastError, что пошло не так ?
Прав нет, ошибка в пути или даже какие-нибудь загадочные ERROR_OUTOFMEMORY, ERROR_TOO_MANY_OPEN_FILES...
смотрим
Цитата:
LoadLibrary
...
Return Value
If the function succeeds, the return value is a handle to the module.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
Так может это... Посмотреть в GetLastError, что пошло не так ?
Прав нет, ошибка в пути или даже какие-нибудь загадочные ERROR_OUTOFMEMORY, ERROR_TOO_MANY_OPEN_FILES...
alex0413
Для начала запустите Process Explorer и посмотрите по какому пути идет обращение к библиотеке.
Для начала запустите Process Explorer и посмотрите по какому пути идет обращение к библиотеке.
Alexzzy
одна библиотека загрузилась, но в списке её не нашел. Не думаю что я там же найду библиотеку которая вообще не загрузилась. Может я не там смотрю? Выбираю процесс и View DLL`s (ctrl + d).
одна библиотека загрузилась, но в списке её не нашел. Не думаю что я там же найду библиотеку которая вообще не загрузилась. Может я не там смотрю? Выбираю процесс и View DLL`s (ctrl + d).
alex0413
Извиняюсь, перепутал. Нужен Process Monitor. Включить Show File System Activity, а остальное отключить. Ненужные процессы можно в "Exclude" добавить.
Извиняюсь, перепутал. Нужен Process Monitor. Включить Show File System Activity, а остальное отключить. Ненужные процессы можно в "Exclude" добавить.
Alexzzy
посмотрел, и я так понял, что первая библиотека не грузится потому, что она во время загрузки начинает подгружать зависимые библиотеки по пути, где находится программа, вместо необходимого мне.
Добавлено:
Изменил рабочую папку программы с помощью SetCurrentDir(), теперь даже путь библиотекам не нужно указывать, они сами оттуда загружаются.
Всем спасибо за помощь! Проблема решена!
посмотрел, и я так понял, что первая библиотека не грузится потому, что она во время загрузки начинает подгружать зависимые библиотеки по пути, где находится программа, вместо необходимого мне.
Добавлено:
Изменил рабочую папку программы с помощью SetCurrentDir(), теперь даже путь библиотекам не нужно указывать, они сами оттуда загружаются.
Всем спасибо за помощь! Проблема решена!
Страницы: 1
Предыдущая тема: Ошибка при переходе с Delphi 7 на XE8
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.