2009-10-08 2 views
2

Я использую COM DLL следующим образом:System.AccessViolationException

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

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

Любая помощь будет appriaciated ..

ответ

1

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

+0

Большое спасибо за ответ, я поместил все библиотеки DLL в эту конкретную папку, которые используются abc.dll. – Yogi

Смежные вопросы