System.AccessViolationException - PullRequest
       7

System.AccessViolationException

2 голосов
/ 08 октября 2009

Я использую com DLL следующим образом:

#Region "API Function"
    <DllImportAttribute("abc.dll", EntryPoint:="optcntl")> _
    Public Shared Function optcntl(ByRef pBlocks As blocks) As Integer
    End Function
#End Region

Эта DLL использует остальные четыре библиотеки для завершения своей обработки. Если я изменю текущий путь к каталогу из папки / bin / на другую папку на диске C или D, которая содержит все библиотеки DLL. Я получаю следующее сообщение об ошибке: System.AccessViolationException: попытка чтения или записи в защищенную память. Это часто указывает на то, что другая память повреждена

Любая помощь будет признательна ..

1 Ответ

1 голос
/ 09 октября 2009

Если я правильно понимаю, это выдает ошибку, когда вы изменяете текущий путь к каталогу на НЕ, содержащий четыре dll, которые вызывает abc.dll. Если это так, может быть, что abc.dll всегда ищет в правильном пути к каталогу остальные четыре библиотеки, а не каталог приложения или какое-то конкретное место. Однако это обычно выдает другое сообщение об ошибке, поэтому убедитесь, что на жестком диске нет старой ошибочной копии четырех библиотек, которая случайно обнаруживается при изменении каталога currendt.

...