![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Elfin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.10.2004 Репутация: нет Всего: нет |
Возникла проблема с реализацией игры "убери лишнее" .
Условия моей программы такие: Разработать упрощенную версию игры «Убери лишнее»: на экране появляются объекты –рисунки, среди которых есть лишний. Необходимо указать его. Использовать динамическое создание объектов. Проблема в том что иногда после выбора нужной картинки вылетает сообщение об ошибке. Не могу найти ее причину. Подскажите в чем она может заключаться? Привожу код
|
|||
|
||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
При выборе какой картинки, и какая ошибка вылетает? Лучше вставь всю папку с исходниками (без екзешника), а то не охота разбиратся во всём коде чтобы его откомпилить.(внизу есть кнопка Ответить, после нажатия на которую будет возможность вставлять файлы, Zip-архив) |
|||
|
||||
Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
1. какое сообщение об ошибке?
2. в каком месте? -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
Elfin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.10.2004 Репутация: нет Всего: нет |
К сообщению прикрепил файл - архив с исходниками 22 кб.
После нажатия на бутон1 происходит очищение панели1 от всех контролов а затем заполнение ее новыми контролами, среди которых один отличается от остальных картинкой и именем Targetб у остальных же имя 'IM'+порядковый номер картинки. При нажати на эту картинку с именем 'Target' она должна удалиться, иногда все нормально получается, а иногда происходит ошибка Acces Violation и код ошибки. Это сообщение отредактировал(а) Elfin - 18.12.2005, 10:29 Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() |
|||
|
||||
YurikGL |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
Может я что не понимаю, но
E.Name:='Target' Зачем так???? Создай массив Image-в и все будет хорошо.... А в Tag-e храни свое (i) Если уж очень нужно свою строку хранить, то создай наследника от TImige у которого есть нужное поле... А переименовывать объекты по ходу выполнения это как-то неправильно ИМХО.... А то в твоем случае реально существует только один объект Е и ты его много раз создаешь, меняешь имена, а ссылки на старые объекты теряешь... --------------------
|
|||
|
||||
Elfin |
|
||||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.10.2004 Репутация: нет Всего: нет |
Это как? что-то я не совсем понял. OK попробовал массив имагов, тоже не робит.
Это сообщение отредактировал(а) Elfin - 18.12.2005, 13:29 |
||||
|
|||||
Quadr0 |
|
|||
Unregistered |
...
Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 02:51 |
|||
|
||||
Elfin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.10.2004 Репутация: нет Всего: нет |
Зачем из мухи делать слона? к чему такие навороты, если в теории алгоритм должен быть проще.
Можно также по координатам вычислять в какую картинку я ткнул мышью, но стоит ли? Единственноен чего я не понимаю - это откуда ошибка, если теоретически все верно. |
|||
|
||||
YurikGL |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
Честно говоря, я так и не понял в чем прикол...
Если Image создается методом "кидания на форму" то вызов free из OnClick этого компонента работает нормально... Вызов free из других объектов по отношению к динамически созданным Image тоже проходит нормально.... Из экспериментов выяснил, что ошибка возникает не всегда. Иногда это - abstract error иногда - AV.... Похоже на глюки самих делфей... С другими компонентами, кстати, та же фигня... А при использовании события OnExit (для TButton) все работает... Добавлено @ 18:53 В принципе, прблема решилась так:
т.е. вместо OnClick использовать OnMouseUp Это сообщение отредактировал(а) YurikGL - 18.12.2005, 18:50 --------------------
|
|||
|
||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Очень просто, я раньше на тотже кручёк раза три подряд ловился, а г-н Посол, меня всё время исправлял... ![]() Короче тут вся фишка в том, что при нажатии на картинку, она удаляет сама себя, что не разрешает ОС Winows, вот и выскакивает ошибка. ![]() Короче я чуть-чуть подправил, можешь посмотреть в прикреплённом файле. Присоединённый файл ( Кол-во скачиваний: 12 ) ![]() |
|||
|
||||
YurikGL |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
Сами себе сообщение посылаете? Это, наверное, более правильное решение, чем мое... --------------------
|
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
-------------------- С уважением, г-н Посол. |
|||
|
||||
YurikGL |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
Хм.... а почему тогда иногда срабатывает без ошибок? --------------------
|
|||
|
||||
Elfin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.10.2004 Репутация: нет Всего: нет |
Zero
YurikGL p0s0l Cпасибо огромное за разъяснения, очень благодарен за помощь, все работает. ZeroВсе работает, но этот код я не понимаю. Если не трудно, объясни как это работает. |
|||
|
||||
Zero |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Короче вся фишка в том, что при выполнении этой строки:
А в вот этой процедуре:
|
||||||||||
|
|||||||||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |