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

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

Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ SetVisualPage, SetActivePage

Автор: qwad1000 8.03.2012 23:31

Начал работать над курсовой работой - уперся в невозможность работы с несколькими страницами.
При ввыполнении программы все отображается на одной, сабжевые функции просто игнорируются.
Кто что подскажет?
ЗЫ: Сама курсовая - игра "Жизнь". Смена страниц нужна для корректной и быстрой прорисовки

Автор: sheka 9.03.2012 3:35

Тоже сталкивался с этой проблемой.
Мне кажется разработчики просто "забили" на поддержку устаревших графических возможностей.

Автор: IUnknown 9.03.2012 3:49

Цитата
Кто что подскажет?
Использовать WinGraph вместо стандартного модуля Graph. Ибо в стандартном происходит вот что:

Цитата(fpc-2.6.0.source\fpc-2.6.0\packages\graph\src\win32\graph.pp)
{ multipage support could be done by using more than one background bitmap }
procedure SetVisualWin32GUI(page: word);
begin
end;

procedure SetActiveWin32GUI(page: word);
begin
end;

// ...

procedure SetupWin32GUIDefault;
begin
mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixel16Win32GUI;
mode.PutPixel:={$ifdef fpc}@{$endif}PutPixel16Win32GUI;
mode.GetPixel:={$ifdef fpc}@{$endif}GetPixel16Win32GUI;
mode.HLine := {$ifdef fpc}@{$endif}HLine16Win32GUI;
mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetRGBPaletteWin32GUI;
mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetRGBPaletteWin32GUI;

// Вот эти 2 строки
mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualWin32GUI;
mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveWin32GUI;

mode.InitMode := {$ifdef fpc}@{$endif}InitWin32GUI16colors;
mode.OuttextXY:={$ifdef fpc}@{$endif}OuttextXYWin32GUI;
mode.VLine := {$ifdef fpc}@{$endif}VLine16Win32GUI;
// mode.circle := {$ifdef fpc}@{$endif}Circle16Win32GUI;
// doesn't work yet
// mode.Line:={$ifdef fpc}@{$endif}LineWin32GUI;
end;

, т.е., процедуры - пустые. Равно как и в DefaultHooks (файл graph.inc) - тоже устанавливаются адреса пустых процедур...

Автор: qwad1000 9.03.2012 4:11

Н-да. Проблема. И как-то вкрутить из старых версий нельзя(есть ли оно вообще в старых версиях)?

Ладно, благодарю за помощь. Буду переделывать курсовую под WinGraph

Автор: IUnknown 9.03.2012 16:44

Цитата
И как-то вкрутить из старых версий нельзя(есть ли оно вообще в старых версиях)?
Исходники версий ниже 2.2.2 на официальном FTP найти проблематично, но у меня есть на диске исходники 2.2.0 (версия компилятора от 2008 года, а сами INC-файлы датированы вообще мартом 2007). Так вот и там тоже SetActivePage/SetVisualPage - пустышки.