Форум: "Игры";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизГлюки в проге или в DelphiX Найти похожие ветки
← →
Omar2002 © (2003-09-02 22:55) [0]Мастера! Я делаю космическую леталку с элементами стратегии на DelphiX.
Возникла такая проблемма: При старте игры на экран выводится один первый "кадр" и так и стоит - игра висит, причем висит странно. Виснет именно графика, потому что ESC работае как положенно, то есть закрывает игру. Еще одна странность: при включении игры из Delphi после выхода выдается ошибка на какой-то адрес, а при запуске ехе из под винды ошибки никакой не выдается. Помогите!
← →
VitGun © (2003-09-03 05:24) [1]Ну если висит графика...то в цикле прорисовке, в сомом конце напиши DxDraw.Flip;
А насет ошибки...напиши что за ошибка. А еще лучше запусти прогу в отладчике и посмтори где именно она возникает...
← →
Omar2002 © (2003-09-03 21:44) [2]Ошибка вылазит вот такая(вырезано все ненужное):
"Access violation at address 0044E7DB... Read of address FFFFFFFF ..."
По поводу DXDraw.Flip; не волнуйся, я же не последний ломак :), уже не первый проект на делфиксах делаю.
С отладкой тоже ниче не выйдет потому, что троссировка не работает при использовании DirectX, просто комп безнадежно виснет и все.
← →
MeF88 © (2003-09-04 11:01) [3]У меня такая ошибка возникала... Не помню, как я её правил, но вроде она связана с обращением к не созданному классу.
Типа:
Надо писать Var:=TVar.Create; Var.x:=5;
А не просто Var.x:=5
Или: Var.Create; Var.x:=5;
← →
Omar2002 © (2003-09-04 16:42) [4]Спасибо! Попробую поискать.
← →
хм © (2003-09-04 16:43) [5]Read of address FFFFFFFF - читаешь по нулевому адресу. Или указатель неинициализировал, или объект.
>С отладкой тоже ниче не выйдет потому, что троссировка не >работает при использовании DirectX, просто комп безнадежно >виснет и все.
А логи на что?
← →
Omar2002 © (2003-09-04 16:54) [6]Вполне возможно, что это указатель неинициализирован где-то.
← →
cyborg © (2003-09-04 17:33) [7]Всё гораздо проще, ставишь точку останова в самом начале работы програмы, запускаешь, затем FindError, и вводишь адрес, например в данном случае 0044E7DB.
← →
Omar2002 © (2003-09-04 21:38) [8]
> cyborg © (04.09.03 17:33) [7]
> Всё гораздо проще, ставишь точку останова в самом начале
> работы програмы, запускаешь, затем FindError, и вводишь
> адрес, например в данном случае 0044E7DB.
Ты имеешь в виду троссировку? Если да,то как это сделать, ведь при использовании DirectX комп просто зависает, если ставишь где-нить точку.
Кстати, ща вобще не выдается никакой ошибки. Тем не менее директХ как будто перестает рисовать после прорисовки первого кадра. Иначе говоря я в полной ... ведь теперь искать даже не знаю где и что??? Вобще какая-то нестабильность в последнее время с игрой началась- иногда ошибка выскакивала, а сейчас, после некоторых банальных перестановок, ошибка не выдается и + к этому все равно не работает.
← →
Camedia (2003-09-05 00:23) [9]> При старте игры на экран выводится один первый "кадр"
Не знаю, но может ты машинально не в TimerOnTimer, а в TimerOnActivate прорисовку поставил?
← →
cyborg © (2003-09-05 10:50) [10]Omar2002 © (04.09.03 21:38)
Читай внимательней
ставишь точку останова в самом начале работы програмы
F8 или мышкой ткни на левый край в редакторе кода. Затем нажми F9, затем меню-сеарч-финдеррор и введи адрес ошибки, тебе ту строчку покажут, где ошибка возникла.
← →
TButton © (2003-09-05 21:33) [11]фулскрин отключи и отлаживай и виснуть не будет... а может действительно прорисовку на онАктивейт поставил у мну тоже такое случалось, даблклацнул по таймеру и пишу, а потом долго думаю "что ж блин с графой-то!"
← →
Omar2002 © (2003-09-05 21:44) [12]Спсябо чуваки!!!!!!
Действительно в онАктив посадил. Так что ща все работает просто отлично. Да, кстати, с троссировкой получилось так что я еще пару глюков исправил :)
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c