Помощь - Поиск - Пользователи - Календарь
Полная версия: SetVisualPage, SetActivePage
Форум «Всё о Паскале» > Pascal, Object Pascal > 32 битные компиляторы
qwad1000
Начал работать над курсовой работой - уперся в невозможность работы с несколькими страницами.
При ввыполнении программы все отображается на одной, сабжевые функции просто игнорируются.
Кто что подскажет?
ЗЫ: Сама курсовая - игра "Жизнь". Смена страниц нужна для корректной и быстрой прорисовки
sheka
Тоже сталкивался с этой проблемой.
Мне кажется разработчики просто "забили" на поддержку устаревших графических возможностей.
IUnknown
Цитата
Кто что подскажет?
Использовать 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
Н-да. Проблема. И как-то вкрутить из старых версий нельзя(есть ли оно вообще в старых версиях)?

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