Sid_Joshi Ответов: 0

Попытка чтения или записи защищенной памяти. Это часто указывает на то, что другая память повреждена.


Всем привет,

Я получаю эту ошибку при вызове Seagate 8.5 crystal reports из .net-кода.

ОС Win10 32Bit
Visual Studio 2008
Crystal Tool Seagate Crystal Report 8.5.


Я разработал Crystal reports в vb6.0 и использовал dll-файл через .net-код. В windows xp это работало нормально, но когда я мигрировал в windows 10 32bit, вышеприведенная ошибка возникает при вызове dll.
Пожалуйста, помогите мне в этом вопросе.

Я получил ошибку в строке x.helloVB ().

в VB 6.0 Project1.dll
Класс1.ЦБС
Public Sub helloVB()
Form1.Show 1
End Sub

Форма form1 содержит CrystalReport управления средства просмотра и без единой строчки кода.

на .чистый конец
Dim x As New Project1.Class1
x.helloVB()


Что я уже пробовал:

1. изменен целевой процессор на x86.
2. Установлен сервер SQL Compact 3.5 с пакетом обновления 1.
3. C:\Program файлы\Microsoft Visual Studio 9.0\Common7\IDE>devenv.exe /ResetSkipPkgs
4. зарегистрированные и незарегистрированные библиотеки DLL.
5. Добавлены разрешения каталог на полный контроль.

Richard Deeming

Мы не можем помочь вам исправить код, который мы не видим.

Нажмите на зеленую ссылку "улучшить вопрос" и обновите свой вопрос соответствующими частями кода. Не забудьте указать, из какой строки кода выбрасывается исключение.

Sid_Joshi

В frmReportViewer.Show 1 form получает эту ошибку.
эта форма имеет элемент управления crystal report viewer.
Как я могу поделиться с вами кодом?

CHill60

Вы вставляете код в свой вопрос, нажав на зеленую ссылку "улучшить вопрос" рядом с ним.

Sid_Joshi

добавлено в вопросе. dll и exe, построенные на win 10, прекрасно работают на win xp, Но не на win 10. какая проблема, я что-то пропустил?

CHill60

Когда вы говорите, что у вас есть зарегистрированные и незарегистрированные библиотеки DLL, вы уверены, что не смешиваете 32-битные и 64-битные файлы и что вы регистрируете компоненты, используя правильную версию Regsvr32.exe в каждом случае?

Sid_Joshi

нет, сэр, я работаю на 32-битной системе, а не на 64-битной.

CHill60

Таким образом, вы явно использовали C:\Windows\SysWOW64\Regsvr32.exe чтобы зарегистрировать свои библиотеки DLL? Потому что если вы только начинаете typign regsvr32 и подберут именно тот вариант в C:\WINDOWS\system32

Sid_Joshi

Нет, сэр, у меня ДНТ есть 64-битный ПК. Я работаю только на 32-битной системе win 10.

0 Ответов