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

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

Манифест в Windows XP [D5, D6, D7, WinXP]


API User ©   (2004-04-05 11:25:00) 

Столкнулся с одной интересной проблемой в Windows XP.

При подключении к проекту манифеста (как через Res файл, так и через внешний), не работает конструктор окна:

Т.е. :  

hMainWnd := CreateDialog(hInstance, 'MAIN_DIALOG', 0, Nil)

Выдает всегда 0 Handle !

Если создавать окно не из ресурса, а напрямую через API все нормально для главного окна, а вот последующие контролы снова возврашают 0 Handle.

Если убрать манифест, или запускать программу в режиме совместимости с Windows 9X - работает нормально.

Вся заковырка была в следующем:

необходимо в событие WM_CREATE окна включать :

WM_CREATE:
begin
InitCommonControls;
...
end;


Процедура InitCommonControls находится в модуле CommCtrl.

Может кто прокомментирует, что делает процедура InitCommonControls ?


Cobalt   (2004-05-12 10:31:00) [1]

Написать баг-репорт в Майкрософт? ;-)
Я, по крайней мере, пишу баг-репорты тем компаниям, у которых обнаруживал баги (или веб-мастерам).


DVM   (2004-05-12 00:43:00) [2]

ListView в XP содержит много других ошибок (недочетов?) в реализации. Некоторые легко обнаружить:
В XP выключите пункт "отображать содержимое окна при перетаскивании" и перетащите значок на Рабочем столе. Надпись смещена вправо. Иногда она вообще пропадает. То же будет и с любым другим ListView - неправильно генерируется образ перетаскиваемого итема.
Может кто знает как победить?


Gero   (2004-05-12 00:10:00) [3]


> OlegGashev ©   (11.05.04 23:53) [6]

Спасибо.


OlegGashev   (2004-05-12 00:00:00) [4]

Забыл добавить: d5.

Где, что изменял, уже не помню. У кого есть оригинальная версия файла, выложите разницу в файлах. Там всего пара добавленных строк.


OlegGashev   (2004-05-11 23:53:00) [5]

Исправленный comctrls.pas:

http://www.linkrepository.com/comctrls.zip


Gero   (2004-05-11 23:45:00) [6]


> OlegGashev ©   (11.05.04 21:13)
> Работает, но его надо править.

А что именно в нем надо править, Вы в курсе?
У меня та же проблема, а как устранить - не знаю.


Игорь Шевченко   (2004-05-11 23:28:00) [7]

И не TListBox, а TListView.

Кстати, что интересно - в WinXP Rus без SP, Delphi 6 Personal все прекрасно работает :)


OlegGashev   (2004-05-11 21:13:00) [8]

Xerx ©   (11.05.04 20:28) [2]

Работает, но его надо править.


Xerx   (2004-05-11 20:28:00) [9]

А ещё не работает TListBox в режиме отчёта!


Игорь Шевченко   (2004-04-05 11:34:00) [10]


> Может кто прокомментирует, что делает процедура InitCommonControls
> ?


Регистрирует оконные классы Common Controls


Наверх

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