как вы загружаете больше, чем библиотека во FreePascal? - PullRequest
0 голосов
/ 08 июля 2011

Я могу отлично загрузить первую DLL, но если я попытаюсь загрузить вторую DLL, она потерпит неудачу.

ИНФОРМАЦИЯ:

  • ОС: Windows Vista
  • FPC: 2.4.4
  • Независимо от того, загружаю ли я вторую DLL из EXE или из первой DLL, происходит сбой второй.
  • Независимо от статической загрузки первой DLL,секунда просто терпит неудачу.
  • Независимо от того, какая вторая DLL загружается.
  • Я контролирую исходный код DLL.
  • Внешних зависимостей нет.
  • Это происходит с очень простыми DLL.
  • GetLastError () возвращает ошибку 487 (ERROR_INVALID_ADDRESS).
  • Это происходит только с DLL, сгенерированными с помощью FPC.

Что-то мне не хватает, и я не могу это понять.

Спасибо

ОТВЕТ: хорошо, я нашел свою проблему, у меня был переключатель командной строки -WN в моем fp.cfg файл

1 Ответ

0 голосов
/ 08 июля 2011

Полагаю, вы вызываете оболочку для Win32 LoadLibrary ().

Вы можете без проблем вызывать несколько разных .dll.

SUGGESTION: Проверьте GetLastError и посмотрите, какой код ошибки был

ТАКЖЕ:

  • Может быть, это что-то об этом конкретном .dll или о том, как вы его используете.

  • Запустите инструмент « зависит » для ваших .exe, ваших .dll и любых .dll, которые вы загружаете динамически. Убедитесь, что все зависимости разрешены.

...