Junior
Статус: Не в сети Регистрация: 14.06.2011 Откуда: ХМАО
В теме о С++ Builder последний пост был в прошлом году, так что создаю отдельную тему.
В C++ совсем новичок, сейчас пишу программу, суть такова: создаём некоторое количесво кружочков, отрисовываем на форме с помощью TShape, выбираем интересующий нас кружок и двигаем его по форме, меняем размеры и т.д.
Сначала всё было довольно просто, пока я не начал создавать объекты во время выполнения. Для того чтобы реализовать поиск среди динамически созданных объектов, создал динамический список, добавил в него все созданные объекты, реализовал выбор по щелчку на Shape. Со статическими объектами и без списка всё работает как часы, только указывать для перемещения их приходится "в лоб", например
Код:
Selected = &b1
. Но как только появился список и я начинаю двигать найденные с его помощью кружочки, появляется Access Violation в методах Up/Down/Left/Right класса Ball. Что интересно, если включать в тот же список только статические кружочки, всё равно возникает та же ошибка. Прошу помощи, третий день сижу над программой.
Во первых это overclockers.ru. Во вторых необходимо оставить только класс Ball без Ball *Next и воспользоваться std::list<Ball> и std::list<Bal>::iterator
Какбы логичней тут Ball *Selected = NULL;(да и остальным переменным выделять динамически память) а присваивание делать где нибудь в formcreate, скорей всего когда происходит присваивание, b1 еще не создан и selected == NULL, перед вызовом методов left, right... поставь точку остановки и посмотри на что ссылается selected.
Member
Статус: Не в сети Регистрация: 10.10.2005 Откуда: Н. Новгород
включи, чтоб борланд ексепшены своим дебаггером хватал. он программу и прервет на точке где ошибка. посмотришь, который указатель плохой, дальше по программе уже смотри почему.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения