Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глюки в проге или в DelphiX [Delphi]


Omar2002 ©   (2003-09-02 22:55:00) 

Мастера! Я делаю космическую леталку с элементами стратегии на DelphiX.
Возникла такая проблемма: При старте игры на экран выводится один первый "кадр" и так и стоит - игра висит, причем висит странно. Виснет именно графика, потому что ESC работае как положенно, то есть закрывает игру. Еще одна странность: при включении игры из Delphi после выхода выдается ошибка на какой-то адрес, а при запуске ехе из под винды ошибки никакой не выдается. Помогите!


Omar2002   (2003-09-05 21:44:00) [1]

Спсябо чуваки!!!!!!
Действительно в онАктив посадил. Так что ща все работает просто отлично. Да, кстати, с троссировкой получилось так что я еще пару глюков исправил :)


TButton   (2003-09-05 21:33:00) [2]

фулскрин отключи и отлаживай и виснуть не будет... а может действительно прорисовку на онАктивейт поставил у мну тоже такое случалось, даблклацнул по таймеру и пишу, а потом долго думаю "что ж блин с графой-то!"


cyborg   (2003-09-05 10:50:00) [3]

Omar2002 ©   (04.09.03 21:38)
Читай внимательней
ставишь точку останова в самом началеработы програмы

F8 или мышкой ткни на левый край в редакторе кода. Затем нажми F9, затем меню-сеарч-финдеррор и введи адрес ошибки, тебе ту строчку покажут, где ошибка возникла.


Camedia   (2003-09-05 00:23:00) [4]

> При старте игры на экран выводится один первый "кадр"

Не знаю, но может ты машинально не в TimerOnTimer, а в TimerOnActivate прорисовку поставил?


Omar2002   (2003-09-04 21:38:00) [5]


> cyborg ©   (04.09.03 17:33) [7]
> Всё гораздо проще, ставишь точку останова в самом начале
> работы програмы, запускаешь, затем FindError, и вводишь
> адрес, например в данном случае 0044E7DB.

Ты имеешь в виду троссировку? Если да,то как это сделать, ведь при использовании DirectX комп просто зависает, если ставишь где-нить точку.

Кстати, ща вобще не выдается никакой ошибки. Тем не менее директХ как будто перестает рисовать после прорисовки первого кадра. Иначе говоря я в полной ... ведь теперь искать даже не знаю где и что??? Вобще какая-то нестабильность в последнее время с игрой началась- иногда ошибка выскакивала, а сейчас, после некоторых банальных перестановок, ошибка не выдается и + к этому все равно не работает.


cyborg   (2003-09-04 17:33:00) [6]

Всё гораздо проще, ставишь точку останова в самом начале работы програмы, запускаешь, затем FindError, и вводишь адрес, например в данном случае 0044E7DB.


Omar2002   (2003-09-04 16:54:00) [7]

Вполне возможно, что это указатель неинициализирован где-то.


хм   (2003-09-04 16:43:00) [8]

Read of address FFFFFFFF - читаешь по нулевому адресу. Или указатель неинициализировал, или объект.

>С отладкой тоже ниче не выйдет потому, что троссировка не >работает при использовании DirectX, просто комп безнадежно >виснет и все.
А логи на что?


Omar2002   (2003-09-04 16:42:00) [9]

Спасибо! Попробую поискать.


MeF88   (2003-09-04 11:01:00) [10]

У меня такая ошибка возникала... Не помню, как я её правил, но вроде она связана с обращением к не созданному классу.
Типа:
Надо писать Var:=TVar.Create; Var.x:=5;
А не просто Var.x:=5
Или: Var.Create; Var.x:=5;


Omar2002   (2003-09-03 21:44:00) [11]

Ошибка вылазит вот такая(вырезано все ненужное):
"Access violation at address 0044E7DB... Read of address FFFFFFFF ..."
По поводу DXDraw.Flip; не волнуйся, я же не последний ломак :), уже не первый проект на делфиксах делаю.
С отладкой тоже ниче не выйдет потому, что троссировка не работает при использовании DirectX, просто комп безнадежно виснет и все.


VitGun   (2003-09-03 05:24:00) [12]

Ну если висит графика...то в цикле прорисовке, в сомом конце напиши DxDraw.Flip;
А насет ошибки...напиши что за ошибка. А еще лучше запусти прогу в отладчике и посмтори где именно она возникает...


Наверх

Титульная страница Поиск, карта сайта Написать письмо