Поиск:

Ответ в темуСоздание новой темы Создание опроса
> статический экзешник, чего опасаться 
V
    Опции темы
bilbobagginz
Дата 29.12.2006, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



здраствуйте, виндовз программеры.
мучает меня вопрос: делаеется гуи на mfc.
файлы - иконка, и биэмпишки - внешние. хочется же создать статически собранную програму.
статически - это относительно, т.е. содержимое mfc  дллек - в файле не нужно, но иконки, и т.д. должны быть вшиты. Как это достигается кратчайшим путём ?


спасибо!





--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
zkv
Дата 29.12.2006, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



Цитата(bilbobagginz @  29.12.2006,  20:30 Найти цитируемый пост)
но иконки, и т.д. должны быть вшиты.

будут вшиты по умолчанию, все будет вшито, за исключением хелпа, манифеста и, естественно, сторонних dll'ек. Так что боятся вроде нечего smile   
PM MAIL   Вверх
bilbobagginz
Дата 29.12.2006, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



ок. это вроде бы хорошо.
а если избавиться и от мунифеста .. на кой он нужен ?






--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
zkv
Дата 29.12.2006, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



манифест - нечто для меня, пока, не совсем понятное, без него работать все будет без проблем, я его использовал для поддержки стилей XP. Больше про манифест ничего не скажу, боюсь наврать smile.
PM MAIL   Вверх
bilbobagginz
Дата 30.12.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



почитаем..


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
W4FhLF
Дата 30.12.2006, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: нет
Всего: 121



Манифест действительно нужен для поддержки XP стиля стандартными контролами(если XP стиль включен в системе). Скажу больше, его можно спокойно прилинковать к прочим ресурсам программы, для этого достаточно в файл ресурсов добавить такую строку:

Код

1 24 DISCARDABLE "your_manifest_file.xml"


А в программе перед созданием диалога не забыть вызвать:

Код

InitCommonControls();


Хотя это не всегда нужно, но чтобы уж наверняка...

Добавлено @ 14:34 
http://bobjohnson.nm.ru/inf/xp_style.html


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Любитель
Дата 5.1.2007, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 7
Всего: 92



Не совем верно думать, что поддержка XP стилей - цель манифеста, хотя для большинства он больше нихачем и не нужен. Вообще в XP появилась очередная попытка борьбы с DLL Hell. Она заключается в появлении папки WinSxS. В ней находятся папки различных библиотек, название папочек включают архитектуру системы (x86, x64), название (MS рекомендует всобачивать сюды имя фирмы или девелопера), версию и хеш-код сертификата безопасности библиотеки. Для загрузки библиотек из этой папочки используются манифесты. При этом функции DLL обычным образом также пишутся в таблицу экспорта - то есть не на XP (или на XP при отсутствии манифеста) произойдёт загрузка этих DLL обычным способом. XP (и >) будет загружать либы из WinSxS с проверкой компатибилити версий. В манифесте указывается какая версия нам нужна. Если такой нет, но есть обратносовместимая с ней - то будет загружена она.

comctl32.dll 5-ой версии есть в System32. Это либа содержит функции работы (в том числе отрисовки) с основными контролами (как принято называть элементы у правления в винде). 5-ая версия не поддерживает XP-стили. 6-ая версия грузится через манифесты.

Приоритет всегда у файл-манифеста - типа my_program.exe.manifest в папке с программой. Но можно засунуть и в ресурсы.


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0724 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.