Нарушение прав доступа в сторонних DLL при загрузке из приложения, скомпилированного с Visual C ++ 2019 - PullRequest
1 голос
/ 22 сентября 2019

Я много лет использовал какую-то стороннюю DLL (точнее: TRMPRO.DLL - т.е. Tsunami Record Manager - скомпилирован с PowerBASIC в 2005 году) с моим приложением, скомпилированным с Visual C ++ 2008, и оно работало нормально, также в Windows 10, но когда я пытаюсь загрузить (с помощью функции LoadLibrary) эту DLL из того же приложения, перекомпилированного с Visual C ++ 2019, это вызывает нарушение доступа, генерируется исключение.Скорее, DLL не зависит от времени выполнения Visual C ++, поэтому я не вижу никакой причины такого поведения.Работает ли функция LoadLibrary по-другому с более новой средой выполнения Visual C ++?Есть еще идеи?Приложение и, конечно, TRMPRO.DLL являются 32-разрядными.

1 Ответ

0 голосов
/ 25 сентября 2019

Я на самом деле работал с этим по электронной почте.Решение состоит в том, чтобы отключить защиту DEP.Из электронной почты J:

Автоматическое преобразование проекта из MSVC 2008 в MSVC 2019 не устанавливает параметр / NXCOMPAT, а параметр unset означает, что предотвращение включено.

...