Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6318
Последний выпуск: 19.06.2015

Не работает manifest для XP стиля

46K
10 мая 2013 года
GerdtR
26 / / 20.03.2012
Уже не первый раз сталкиваюсь и не могу понять. Пишу программу на fasm'е. Вот так добавляю в файл ресурса манифест:
1 24 "Res\winxpstyle.manifest" .
Вот так выглядит сам файл манифеста:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="CompanyN"
type="win32"
/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
language="*"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df">
</assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>

И вместо того, что бы увидеть красивые кнопки не вижу ничего. Прога использует DialogBox. Тоже самое было и с простым сообщением. Просто не отображается окно. Без этого манифеста всё в норме. В дебагере открыл своё творение и дошёл до DialogBoxParamA. После выполнения этой функции дебагер написал, что не смог загрузится в такой-то папке comctl32.dll. Отрыл эту папку и всё там в порядке. Библиотека есть. А само диалоговое окно не появилось. Другие программы работают без проблем. Стоит WinXP. Я уже не знаю, в чём может быть проблема.
7
10 мая 2013 года
@pixo $oft
3.4K / / 20.09.2006
Так, ну с параметрами ресурса у тебя вроде всё верно. Вот тебе на всякий случай мой 100% рабочий манифест (вчитываться в XML не захотелось, так что лучше кину с нуля):
 
Код:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><dependency><dependentAssembly><assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/></dependentAssembly></dependency></assembly>
Это раз. Далее — InitCommonControls/-Ex() ты вызывал? Помнится, у меня тоже была какая-то запара с тем, что окно тупо не появлялось. Кажется, это было из-за того, что надо было вызвать не просто InitCommonControls(), а -Ex() с выбранными классами. Но я уже точно не помню, зато помню, что достаточно поимел любви с этой проблемой.
46K
10 мая 2013 года
GerdtR
26 / / 20.03.2012
@pixo $oft, спасибо. InitCommonControls помог.
7
11 мая 2013 года
@pixo $oft
3.4K / / 20.09.2006
Вот это да. А я уж и не помню, почему у меня не пахало — я-то всегда вызывал вроде.

Ну рад, что помог ☺

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог