Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2014, 12:48   #1
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию Delphi XE5 подгрузка библиотеки

Всем привет!
Как на Delphi XE5 подгрузить библиотеку?
В делфи7 подгружал так, а тут не получается!

Код:
...

 LibHandle: THandle;

...

LibHandle:= LoadLibrary('API3.dll');
if LibHandle<>0 then
begin
  Showmessage('Success');
end
else
begin
  Showmessage('Fail');
end;
Постоянно появляется Fail
TUberwer вне форума Ответить с цитированием
Старый 31.01.2014, 12:50   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

есть такая штука, справка называется, говорят очумелая весчь, предлагаю воспользоваться
eval вне форума Ответить с цитированием
Старый 31.01.2014, 13:02   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а библиотека то где лежит?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 31.01.2014, 13:10   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
есть такая штука, справка называется, говорят очумелая весчь, предлагаю воспользоваться
Поддерживаю.

ТС, забыл указать путь к DLL. А вашим способом только системные DLL грузить можно.
Человек_Борща вне форума Ответить с цитированием
Старый 31.01.2014, 13:14   #5
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию

Код:
LibHandle := LoadLibrary(PChar(Extractfilepath(paramstr(0))+'\API3.dll'));
Не работает
TUberwer вне форума Ответить с цитированием
Старый 31.01.2014, 13:19   #6
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию

Если сделать так

Код:
LibHandle := LoadLibrary(PChar(Extractfilepath(paramstr(0))+'\API3.dll'));
Win32Check(LibHandle<>0);
То пишет системную ошибку "Указанный модуль не найден"
TUberwer вне форума Ответить с цитированием
Старый 31.01.2014, 13:23   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Просто интересуешься - а что же возвращает Extractfilepath. Смотришь, и о прикол - в конце оказывается есть слеш. А так форум как отладчик, да? Жду вопроса - как пользоваться рулоном туалетной бумаги
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.01.2014, 13:32   #8
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию

Код:
LibHandle := LoadLibrary(PChar(Extractfilepath(paramstr(0))+'API3.dll'));
Так тоже не работает
TUberwer вне форума Ответить с цитированием
Старый 31.01.2014, 13:33   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
А вашим способом только системные DLL грузить можно.
сам то справку читал?

Д7 в отличие от XE+ создавала в папке с проектом, а XE и выше создают подпапки(+ там вообще порою хз что с текущей директорией), потому можно легко положить библиотеку не туда.

Тем не менее, вариант с полным путем лучше, ток главное помнить где exe лежит

ТС, проверяли что dll лежит строго рядом с exe?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 31.01.2014, 13:42   #10
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию

Все, понял почему, просто не привык к DelphiXE5, проэкт просто сохранился не в папку куда я указывал, а в той папке создалась ветка Win32\Debug
TUberwer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi XE5 и iOS Simon1712 Общие вопросы Delphi 1 24.01.2014 09:50
Delphi XE5: Android рисовалка lamer811 Общие вопросы Delphi 1 21.11.2013 19:13
Embarcadero Delphi XE5 novicepro Общие вопросы Delphi 2 02.11.2013 19:11
Delphi XE5 +Android приложения furstenberg Общие вопросы Delphi 4 30.10.2013 11:09
Подгрузка той или иной версии библиотеки в зависимости от целевой платформы alexplato Общие вопросы .NET 3 17.02.2013 19:38