Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

глюки с ChangeDisplaySettings (DIBENG.DLL) при смене видеорежима!


GuestTM ©   (2003-07-31 03:09:00) 

function SetFullscreenMode:Boolean;
var DeviceMode : TDevMode;
begin
with DeviceMode do begin
dmSize:=SizeOf(DeviceMode);
dmBitsPerPel:=16;
dmPelsWidth:=800;
dmPelsHeight:=600;
dmFields:=DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT;
ChangeDisplaySettings(DeviceMode,CDS_UPDATEREGISTRY);
end;
end;


Проблема в том, что данная привиальная функция вдруг ни с того ни с чего начала вызывать системную ошибку в Windows 9x (ну это когда появляется белое окно с черными написями). А затем пишет в "Сведениях" об ошибке, что программа VIDEO.EXE вызвала ошибка защиты памяти в модуле DIBENG.DLL по адресу 0003:000024e5

Не пойму в чем проблема? Данный год в Windows 2k работает отлично, а вот в Windows 9x перестал работать. Причем сообщение об ошибке появляется только тогда, когда глубина цвета равна 16 или 8 битам, а если поставить 32 бита, то все проходит отлично в Windows 9x. Подскажите, пожалуйста, в чем может быть проблема?
Из-за нее, video.exe выбивает Windows из работы, причем даже конструкция try ChangeDisplaySettings(..., ...) except end; не помагает, все равно выбивает Windows программу! При этом, мало что выкидывает программу и систмное сообщение Windows, так еще и мышка после этого перестает работать.


GuestTM   (2003-08-06 03:53:00) [1]

А есть ли аналог у функции ChangeDisplaySettings?


GuestTM   (2003-08-02 03:26:00) [2]

Хорошо, то есть теги /begin /end заключить до вызова ChangeDisplaySettings?
Попробую сегодня. Но можно вопрос? А тот год на Win9x у вас тоже вызывал системную ошибку?


jonni   (2003-08-01 19:23:00) [3]

esli sdelat" vot tak to u meny avse rabotaet

function SetFullscreenMode:Boolean;
var DeviceMode : TDevMode;
begin
with DeviceMode do begin
dmSize:=SizeOf(DeviceMode);
......
dmFields:=DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT;

end;<----------------
ChangeDisplaySettings(DeviceMode,CDS_UPDATEREGISTRY);
end;<----------------




GuestTM   (2003-07-31 08:39:00) [4]

Написать Билли - это выход, только результата это не даст.
Да и странно почему в друг ни с того, ни с чего так произошло!!!
Может быть кто-нибудь этот код повторит и скажет результат на Win9x!?


Bes   (2003-07-31 04:53:00) [5]

один единственный совет.... напиши письмо Билли,(god@microsoft.com) скажи, что он $%^#@ :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо