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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2023, 22:24   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию Не находит dll второй раз

Использую такую процедуру для загрузки процедуры из Dll
Код:
Function DllProcedureLoad(const DllName, ProcedureFunctionName: PChar; var Handle1: THandle; var PointerProcedureFunction:Pointer): boolean;
begin
  try
    Handle1 := loadLibrary (DllName);
    if Handle1 <> 0 then begin
      PointerProcedureFunction:=getProcAddress ( Handle1, ProcedureFunctionName );
      Result:= (addr(PointerProcedureFunction^) <> nil);
    end else Result:=false;
  except
    Result:=false;
  end;
end;
После использования процедуры "закрываю" библиотеку
Код:
freeLibrary(H);
И возникает вот какая проблема:
После одного использования, процедура FileExists не находит dll, который находился в первый раз в рамках одного запуска программы
Kronos913 вне форума Ответить с цитированием
Старый 09.10.2023, 02:35   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
И возникает вот какая проблема:
После одного использования, процедура FileExists не находит dll, который находился в первый раз в рамках одного запуска программы
Бред. Проспись и попробуй ещё раз.
northener вне форума Ответить с цитированием
Старый 11.10.2023, 17:33   #3
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
После одного использования, процедура FileExists не находит dll, который находился в первый раз в рамках одного запуска программы
Если путь не абсолютный, а текущий каталог программы менялся (путем вызова окна открытия файла, например), то так и должно быть.
Vapaamies на форуме Ответить с цитированием
Старый 11.10.2023, 18:52   #4
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Попробовал абсолютный адрес - dll вообще не срабатывает
При локальном хотя бы через раз запускалось
Kronos913 вне форума Ответить с цитированием
Старый 12.10.2023, 10:22   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
При локальном хотя бы через раз запускалось
В принципе это не проблема. Просто при запуске программы выдать пользователю сообщение, что программа запускается через раз, если не запустилась, просто попробуйте еще раз!
Arigato на форуме Ответить с цитированием
Старый 12.10.2023, 10:32   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
Попробовал абсолютный адрес - dll вообще не срабатывает
Вы же понимаете, что это бред?..
p51x вне форума Ответить с цитированием
Старый 12.10.2023, 15:17   #7
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы же понимаете, что это бред?..
Не, не так.

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
Попробовал абсолютный адрес - dll вообще не срабатывает
НА ЗАВОД!!!
Vapaamies на форуме Ответить с цитированием
Старый 12.10.2023, 20:26   #8
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Просто при запуске программы выдать пользователю сообщение, что программа запускается через раз, если не запустилась, просто попробуйте еще раз!
))))))
FaTaL вне форума Ответить с цитированием
Старый 13.10.2023, 01:44   #9
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
НА ЗАВОД!!!
Ни в коем случае. На заводах дорогие станки, даже если они серии "Догнать И Перегнать" или полученные по репарации у Германии после второй мировой. А ну как после его работы и эти станки будут работать через раз?!
Не. Только дворником! Метлы и лопаты гораздо дешевле.
northener вне форума Ответить с цитированием
Старый 13.10.2023, 10:31   #10
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Напрасно вы так. Смотрю на темы, поднимаемые ТСом - нечто эпохальное человек ваяет. Новая операционная система?
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто не хочет - находит оправдания, кто хочет - находит способ ACE Valery Свободное общение 10 04.10.2018 08:50
Не находит файл!!! $T@LKER Работа с сетью в Delphi 0 27.10.2010 17:05
Не находит dll... Davlet M Помощь студентам 3 30.05.2010 20:23
Искал о Dll че-то не находит Parcenson О форуме и сайтах клуба 12 02.11.2008 19:26
почему не находит??? vipER Общие вопросы C/C++ 1 26.09.2007 14:26