Ошибка вывода графических элементов

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dumm
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 27.05.2012 (Вс) 16:39

Ошибка вывода графических элементов

Сообщение Dumm » 22.08.2014 (Пт) 20:10

Всем добрый день! На форме пустого проекта размещаю некоторые графические элементы, например, RectangleShape и сразу, ничего не добавляя, запускаю на выполнение. Вываливается с ошибкой "Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена." Что делать?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 23.08.2014 (Сб) 6:39

А если запустить не добавляя RectangleShape?

Dumm
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 27.05.2012 (Вс) 16:39

Re: Ошибка вывода графических элементов

Сообщение Dumm » 23.08.2014 (Сб) 8:50

Работает. Более того, с другими элементами тоже работает (Button, ListBox и др.). Не работает с элементами LineShape, OvalShape, RectangleShape, DataRepeater. Это все элементы группы Visual Basic PowerPacks. Но все они прекрасно работают на другом компьютере.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 23.08.2014 (Сб) 23:08

Dumm писал(а):Это все элементы группы Visual Basic PowerPacks.

Не пользовался ими.
А с битностью приложения и компонента всё хорошо? В смысле, она одинаковая?

Dumm писал(а):Вываливается с ошибкой "Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена."

Означает, что сделана попытка чтения/записи в страницу памяти, для которой эта операция запрещена. В новых версиях .NET'а это критическая ошибка, которую не так-то легко поймать (catch).
Причём, а адреса близкие к нули бросается обычный NullReferenceException, а не это - так что можно быть уверенным, что там действительно обращение к какому-то левому адресу идёт.

Dumm
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 27.05.2012 (Вс) 16:39

Re: Ошибка вывода графических элементов

Сообщение Dumm » 24.08.2014 (Вс) 12:51

А с битностью приложения и компонента всё хорошо? В смысле, она одинаковая?

А как это узнать? Впрочем, это стандартный пакет, так что, наверно, битность одинаковая.

Означает, что сделана попытка чтения/записи в страницу памяти, для которой эта операция запрещена.

А что в таком случае делать?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 24.08.2014 (Вс) 22:37

Dumm писал(а):А как это узнать?

Прочитать в документации и сравнить с настройками проекта?
Ну либо тупо попробовать оба варианта. Хотя, тут может и по другой причине заработать.

Dumm писал(а):А что в таком случае делать?

Разбираться...

Dumm
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 27.05.2012 (Вс) 16:39

Re: Ошибка вывода графических элементов

Сообщение Dumm » 25.08.2014 (Пн) 20:02

Битность одинаковая.

Но вот что мне пришло в голову: не может ли это быть косяком того, что процессор криво отрабатывает некоторые функции, связанные с графикой? Дело в том, что у меня процессор не "дружит" с DirectX9.0. А так как у меня стоит XP,то другой DirectX и не доступен. Проявляется это в замене мышиного курсора типа "стрелка", на пустой черный квадрат а-ля К. Малевич или еще на какую фигуру, например, на вертикальную черту. Не всегда, но бывает. Все-таки RectangleShape - это объект визуального отображения. Где-то на каком-то форуме прочитал, что это связано с неверным отображение графики в самом классе. Но, во-первых, никаких подтверждений этим словам не приводилось, а, во-вторых, думаю, тогда был бы какой-нибудь патч от Microsoft, именно на это дело.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 26.08.2014 (Вт) 12:27

WinForms или WPF?
По идее, winforms не использует DirectX.
B вообще, зачем всякие прямоугольники делать контролами?

Dumm
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 27.05.2012 (Вс) 16:39

Re: Ошибка вывода графических элементов

Сообщение Dumm » 26.08.2014 (Вт) 18:17

WinForms или WPF?
WinForms
По идее, winforms не использует DirectX.
По идее - да, но у меня нет других идей.
B вообще, зачем всякие прямоугольники делать контролами?
Из них получаются красивые рамочки.

В общем, хочу попробовать поставить Win7 на виртуальную машину, а под нее поставить уже VS и посмотреть что это даст.

Dumm
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 27.05.2012 (Вс) 16:39

Re: Ошибка вывода графических элементов

Сообщение Dumm » 30.08.2014 (Сб) 17:45

Попробовал... Помогло.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 47

    TopList