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

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

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


GuestTM ©   (2003-07-30 11:34: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 (ну это когда появляется белое окно с черными написями). А затем пишет в "Сведениях" об ошибке, что программа VIDE.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-01 06:40:00) [1]

Кстати, еще только что обнаружили интересный факт.
Я уже говорил, что в предыдущих версиях подобного не было, но я взял предыдущих исходик, скомпилировал снова его и он ТОЖЕ начал выдавать ошибку (а предыдущий, ранее скомпилированный, бинарный файл тойже версии работает без проблем).
В чем проблема? В Windows, в Delphi? Delphi 5 (SP1), ничего нового не добавлялось...


GuestTM   (2003-07-31 11:30:00) [2]

Без разницы dmBitsPerPel, проблема в том, что ошибка системная Windows выскакивает и без него!


МалОй   (2003-07-31 09:16:00) [3]

Если важны только Width и Height, то не переопределяй dmBitsPerPel и dmFrequency


GuestTM   (2003-07-31 03:05:00) [4]

Неужели, так и никто не поможет?!


Наверх

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