Мне нужно использовать стороннюю DLL в нашем основном приложении.Когда я статически связываюсь с предоставленной DLL, она работает нормально, и я могу экспортировать функции DLL.Но мы не хотим, чтобы наше основное приложение зависело от этой dll при запуске, поэтому я попытался динамически загрузить DLL, когда мне это нужно:
DLLHandle := LoadLibrary('3rdparty.dll');
ret := GetLastError();
if DLLHandle = 0 then
begin
err := SysErrorMessage(ret);
Writeln(err);
end //...
, но не сработало: функция LoadLibrary возвращает 0, а код LastErrorcode3221225616. Поскольку я не знаю, что я делаю неправильно, я попробовал то же самое (на том же компьютере), закодированный в c, и это работает: но что не работает с delphi?: Я вызываю ту же функцию LoadLibrary на той же DLL!
Когда я наблюдаю с помощью ProcMon, я вижу, что загружается 3-я DLL-часть 3-й стороны, а также загружаются зависимые DLL 3-й DLL-библиотеки.Таким образом, Windows, безусловно, находит DLL.Но где-то в процессе загрузки происходит сбой: когда я пытаюсь загрузить DLL с помощью LoadLibraryEX с помощью DONT_RESOLVE_DLL_REFERENCES или LOAD_LIBRARY_AS_DATAFILE, это также работает (но я не могу, конечно, вызвать необходимые функции ...)
Я ухожуидей: надеюсь, вы, ребята, можете помочь мне в дальнейшем ...
THX в Adv.Кристоф