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