![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
глюки с 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) скажи, что он $%^#@ :)