|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.03.2009, 16:50 | #1 |
Пользователь
Регистрация: 27.01.2009
Сообщений: 97
|
Ошибка при работе с canvas "Неверный дескриптор"
Доброго времени суток. Нужна помощь профессионалов. Проблема в следующем: Изучаю усиленно работу с canvas по урокам, которые предоставлены в теме "Уроки для новичков". С целью закрепления материала пытаюсь создать простую стрелялку на космическую тематику. Программа запускается, но через 10-20 сек начинает ругаться. Выдает ошибку "Неверный дескриптор" либо "недостаточно памяти для выполнения программы". Графику вывожу через буффер в таймере. Буффер очищаю. Устал искать причину. Код предоставлен ниже.
Код:
|
20.03.2009, 17:08 | #2 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Представляю как ты память самусорил такими создаваниями.
I'm learning to live...
|
||
20.03.2009, 17:10 | #3 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
У меня ошибок не пишет.
|
20.03.2009, 17:15 | #4 |
Пользователь
Регистрация: 27.01.2009
Сообщений: 97
|
Если бы всё было так просто. Это упрощенный вариант кода. Оригинал я подтер. Точнее от безисходности удалил. Было больше Bitmap и все я уничтожал аналогично. Но, примерно через минуту, снова вылетает ошибка
|
20.03.2009, 17:17 | #5 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Цитата:
Дополнение Вот этот код: Код:
I am the First of Cyber Evolution...
I am the First to Program your Future... Последний раз редактировалось DomiNick; 20.03.2009 в 17:21. Причина: Дополнение |
|
20.03.2009, 17:25 | #6 | |
Пользователь
Регистрация: 27.01.2009
Сообщений: 97
|
Цитата:
Всё равно спасибо за ответы. Сейчас буду разбираться еще раз с учетом замечаний. Ясно одно - напортачил где-то я) |
|
20.03.2009, 17:39 | #7 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Синтаксических ошибок нет... Ты запусти приложение и подожди...
Вот у меня памяти много в компьютере - пришлось этого сообщения 6 минут ждать... Алекс Ялта, у тебя просто в таймере постоянно создавались всё новые и новые лишние TBitmap ("Player" и "LivePic")... Изображения "Player" и "LivePic" нужно создать всего один раз при запуске и уничтожать при закрытии: Код:
I am the First of Cyber Evolution...
I am the First to Program your Future... |
20.03.2009, 17:40 | #8 |
Пользователь
Регистрация: 27.01.2009
Сообщений: 97
|
DomiNick был прав. Спасибо Еще раз за помощь. Код изменил таким образом. Пока всё работает
Код:
|
20.03.2009, 20:15 | #9 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Алекс Ялта, вызывай с трэя "Диспетчер задач", отслеживай как ведет себя приложение.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
21.03.2009, 23:35 | #10 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Даже не вдаваясь в представленные коды - надо взять за правило, если вызван конструктор (CREATE) - вы занимаете определенную часть памяти, следовательно после работы с этой памятью ее надо освободить (FREE). Т.е. даже в цикле таймера, как в приведенном примере - создали TBitmap.Create; - по окончанию работы таймера уничтожте
объект TBitMap.Free;.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder | AleksP | C++ Builder | 7 | 11.04.2009 13:06 |
Ошибка при установке "critical errors were found in setup" | tsergey | Софт | 1 | 13.03.2009 03:58 |
"Ошибка приложения" при запуске мидлета | hotman | Общие вопросы по Java, Java SE, Kotlin | 0 | 04.09.2008 15:16 |
Ошибка при "управлении вложениями"!!! | Altera | О форуме и сайтах клуба | 1 | 09.03.2008 15:38 |
Что такое "дескриптор" и с чем его едят? | Snake_ua | Win Api | 3 | 30.10.2007 11:17 |