Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2013, 17:54   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию Ошибки Access Violation

К вашему вниманию - змейка: Unit1.pas

Извините за вложение, но сюда весь код не влез (там 8229 символов).

Я понимаю, что часть кода не оформлена, но ошибки, на которые я наткнулся, выделил комментариями " // тут ошибка ". Их там две, надеюсь, что больше не будет.
В Unit2 ничего особенного, только одна процедура и обработчик кнопки.

Благодарен за помощь.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 11.05.2013, 18:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Без толку...
Текст ошибки приводи, и весь проект целиком.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.05.2013, 19:38   #3
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Без толку...
Текст ошибки приводи, и весь проект целиком.
Змейка.rar,
Скрин ошибки (превью):
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 11.05.2013, 19:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну все ясно - запускай через F7, F8, и пошаговкой по коду топ-топ
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.05.2013, 20:37   #5
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну все ясно - запускай через F7, F8, и пошаговкой по коду топ-топ
Мне яснее - перед нажатием на кнопку " Начать игру (пробел) " происходят такие события:
1) Проверка, запущена/на паузе ли игра,
2) Если запущена/на паузе - просто продолжить/пауза.
3) Если нет - выбрать уровень в другой форме, только потом запустить игру.

Сразу после запуска выполняется третий пункт, по крайней мере, должен, но в процедуре " SelectLevel; ", в операторе " Form1.Enabled:=False; " происходит ошибка, указанная на скриншоте выше.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 11.05.2013, 21:16   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в операторе " Form1.Enabled:=False; " происходит ошибка, указанная на скриншоте выше.
Значит форма на этом этапе не доступна. Она еще не создана.
Кстати ошибка не означает что именно на этой строке проблема.
Возможно проблема на строках ниже.
Поэтому я еще раз повторюсь - поставь точку прерывания там и пройди пошаговку. Выясни на каком операторе точно падает, и какие значения принимают переменные, куда указывают объекты форм и т.д.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.05.2013, 21:20   #7
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

У меня нормально компилируется и работает. Стоит Delphi XE3. Код не смотрел.
Давно я змейку не видел. Целых десять минут играл. Скорость 66,1 Очки 40 Сложность эксперт

Последний раз редактировалось Kix.IV; 11.05.2013 в 21:33.
Kix.IV вне форума Ответить с цитированием
Старый 11.05.2013, 21:22   #8
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Значит форма на этом этапе не доступна. Она еще не создана.
Кстати ошибка не означает что именно на этой строке проблема.
Возможно проблема на строках ниже.
Поэтому я еще раз повторюсь - поставь точку прерывания там и пройди пошаговку. Выясни на каком операторе точно падает, и какие значения принимают переменные, куда указывают объекты форм и т.д.
Я вам точно говорю, ошибка выпадает именно на операторе " Form1.Enabled:=False; ", а если я его убираю, то ошибка падает на " StartStop.Caption:=' <не помню, какая тут строка, ошибка в коде комментирована> ' ".
Если бы я не делал пошаговку, я бы ничего не говорил.
Проверка на " if (Form1<>nil) " дала результат true.
На других форумах мне сказали, что " self<>Form1 " - что это может быть ?
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 11.05.2013, 22:32   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
self<>Form1
В той процедуре? Равно если она является методом этой формы.
Цитата:
ошибка выпадает именно на операторе " Form1.Enabled:=False; "
Архивируй проект целиком и прикладывай сюда.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.05.2013, 22:40   #10
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В той процедуре? Равно если она является методом этой формы.

Архивируй проект целиком и прикладывай сюда.
Змейка.rar.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access violation Vanta11a C++ Builder 4 12.04.2013 18:14
Ошибки access violation c TreeView noname_06 Общие вопросы Delphi 4 06.04.2013 03:15
Access violation dimavit Общие вопросы Delphi 3 29.07.2012 19:16
access violation ho_N Компьютерное железо 2 30.11.2011 08:36
Access Violation Carbon Общие вопросы Delphi 12 18.09.2007 19:55