Помощь - Поиск - Пользователи - Календарь
Полная версия: Глючный FPC
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
Anonimys
Вот, пользуюсь Free Pascal IDE. Недавно решил перейти на wingraph с псевдографики. Сегодня был турнир, но изза компиля я даже простейшую игру написать не смог. Понял это, к сожалению, поздно. Скачал тут демки wingraph'а, но нигде, ни в какой демке не работает управление. Такое ощущение, будто IDE не дает считывать нажатие клавиш с клавиатуры. В crt всё нормально работает. Как только переключаюсь на граф - фиг тебе. Сам вопрос: это из-за FPC IDE? Или я что-то не понимаю?
Вот пример. Мой. Тут по идее всё должно работать, а именно: программа должна завершиться.

program testimage;
uses wingraph,wincrt;
const
UpKey= #72;
LtKey= #75;
RtKey= #77;
DnKey= #80;
EscKey= #27;
EnterKey= #13;

var menumod,i,j:integer;
key:char;

procedure LoadBMP(x,y:integer);
var f:file; bitmap:pointer; size:longint;
begin
{$I-} Assign(f,'bgmain.bmp'); Reset(f,1); {$I+}
if (IOResult <> 0) then Exit;
size:=FileSize(f);
GetMem(bitmap,size);
BlockRead(f,bitmap^,size);
Close(f);
PutImage(x,y,bitmap^,NormalPut);
FreeMem(bitmap);
end;

begin
i := detect;
InitGraph(i,j,'');

LoadBMP(0,0);
menumod:=1;

while menumod = 1 do
begin
delay(10);
if CloseGraphRequest then
menumod:=0;
if keypressed then
begin
key:=readkey;
if key = EscKey then
menumod:=0;
end;
end;

closegraph;
end.
IUnknown
Опять они что-то поломали sad.gif Надо исходники WinCRT поднимать, смотреть, что там делается...
Anonimys
Значит так не у меня одного? :C
А я хотел побыстрее перейти к графике. Чтож, пока останусь на псевдографике..
IUnknown
Я ж говорю, поломали. Взял старый WinCRT, который шел в комплекте к WinGraph-у еще под FPC 2.2.0 - все завелось... Нужен тебе рабочий WinCRT, или тебе надо, чтоб со стандартным работало?
Anonimys
Скорее правильным решением будет достать старый WinCRT (мвахаха, я такого понаделаю.. *потирает руки).
Кстати, ты говоришь, что скачал. Можешь пожалуйста дать ссылку? Или залить на RGhost, к примеру?
IUnknown
Я не скачал, а "взял", это разные вещи smile.gif На диске у меня лежат исходники разных версий, разных библиотек, чтоб если в новых чего понакручено - проще было поправить под себя.

Вот WinGraph + WinCRT, с которыми у меня твой код отработал:
Нажмите для просмотра прикрепленного файла

(я там что-то правил в WinGraph-е, поэтому его тоже присоединил, на одном из форумов поймали глюк, я нашел и исправил ошибку)
Anonimys
Большое спасибо :D
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.