Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ ошибки при работе со спрайтами

Автор: Glykaman 14.10.2007 1:18

При работе со спрайтами появился странный глюк:
создал спрайт , после создания добавил READLN; для приостановленияпрограммы на этой строчке комп зависает mega_chok.gif . если нажать ALT+TAB на секунду появляется синий экран "смерти" и перезагружает комп. Причём я заметил что размер спрайта = 0 , хотя спрайт во весь экран.к собщению прикрепил прогу:
файл программы ball.pas .


Прикрепленные файлы
Прикрепленный файл  ball.rar ( 26 килобайт ) Кол-во скачиваний: 120

Автор: volvo 14.10.2007 1:45

Цитата
Причём я заметил что размер спрайта = 0
Один из признаков того, что размер, требуемый для хранения указанной области экрана больше 64К... Проверь, чему равен GraphResult сразу после выполнения ImageSize. Должен быть равен (-11).

Автор: Glykaman 14.10.2007 2:00

write(GraphResult); показывает 0 при ImageSize(0,0,64,48);
и так же при ImageSize(0,0,640,480).
Мож я проверяю не так?

Автор: volvo 14.10.2007 2:34

Цитата
write(GraphResult); показывает 0 при ImageSize(0,0,64,48);
От этого указатель PointFon не начинает указывать ни на что, правда? Если ты попробуешь после попытки GetMem распечатать:
WriteLn(PointFon = nil);
, то распечатается True, значит указатель - "в космос", при попытке перехода по этому указателю может произойти что угодно. В твоем случае это перезагрузка.

Придется тебе работать со спрайтами меньшего размера, или "резать" этот на несколько частей, или переходить на более современные компиляторы...

Автор: Glykaman 14.10.2007 2:41

Цитата(volvo @ 13.10.2007 23:34) *

От этого указатель PointFon не начинает указывать ни на что, правда? Если ты попробуешь после попытки GetMem распечатать:
WriteLn(PointFon = nil);
, то распечатается True, значит указатель - "в космос", при попытке перехода по этому указателю может произойти что угодно. В твоем случае это перезагрузка.

Придется тебе работать со спрайтами меньшего размера, или "резать" этот на несколько частей, или переходить на более современные компиляторы...

Спасибо буду знать.
Думаю мне придётся остановиться на простом выводе картинки из файла.
А вообще на что мне лучше переходить из современных компиляторов?

Автор: volvo 14.10.2007 2:56

Не знаю, я для себя выбрал FreePascal, но для работы с графикой и TMT может быть хорошим решением.