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

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

EnumDisplaySettingsEx - crash [D6]


Psychedelic ©   (2006-09-05 04:14:00) 

Какая -то ерунда. Работаю с KOL.
Объявляю функ. так:

function EnumDisplaySettings(lpszDeviceName: PChar; iModeNum: DWORD;  var lpDevMode: TDeviceMode; dwFlags : DWORD): BOOL; stdcall;  external 'user32.dll'
name EnumDisplaySettingsExA';

Пускаю так (i - в цикле for): EnumDisplaySettingsEx(nil,i,DevMode,1); - в результате программный crash. В чем проблема?

EnumDisplaySettings - работает прекрасно...


Psychedelic   (2006-09-05 13:07:00) [1]

Так и есть . Как говорят провтыкал. Спасибо.
Кстати const EDS_RAWMODE = 2; еле нашел.


begin...end   (2006-09-05 08:54:00) [2]

Перед вызовом функции в структуре DevMode следует инициализировать поля dmSize и dmDriverExtra:

Before calling EnumDisplaySettingsEx, set the dmSize member to sizeof(DEVMODE), and set the dmDriverExtra member to indicate the size, in bytes, of the additional space available to receive private driver data.
(c) MSDN

И в случае с EnumDisplaySettings нужно поступать так же.


Psychedelic   (2006-09-05 04:16:00) [3]

Вот объявление в msdn -

BOOL EnumDisplaySettingsEx(
 LPCTSTR lpszDeviceName,  // display device
 DWORD iModeNum,          // graphics mode
 LPDEVMODE lpDevMode,      // graphics mode settings
 DWORD dwFlags            // options
);


Наверх

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