Компонент TXPManifest. Включение манифеста Windows XP в ресурсы приложения.
На странице Win32 Палитры компонентов Delphi 7 имеется компонент TXPManifest. Будучи добавленным в проект, он обеспечивает компиляцию манифеста Windows XP в исполняемый файл приложения. В качестве основы используется стандартный манифест Delphi для Windows XP, содержащийся в файле ресурсов Delphi7\Lib\WindowsXP.res (листинг 6.2).
Листинг 6.2. Манифест Delphi для Windows XP.
<assembly xmlns="urn:schemas-microsoft-com:asm.vl" manifestVersion="l.0"> <assemblyIdentity type="win32" name="DelphiApplication" version="3.2.0.0" processorArchitecture="*"/> <dependency> <dependentAssembly> Ossemblyldentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccfldf " language="*" processorArchitecture="*"/> </dependentAs sembly> </dependency> </assembly>
К сожалению, версия программного продукта (ProductVersion), а также любая другая информация о версии, содержащаяся в проекте (файлы DOF и RES) и настраиваемая в диалоге Project Options среды разработки Delphi, никак не влияет на содержимое манифеста. Поэтому при настройке манифеста в соответствии с потребностями приложения вам придется предварительно отредактировать файл WindowsXP.res или поправить манифест прямо в исполняемом файле. (Ввиду частых перекомпиляций проекта второй вариант представляется довольно обременительным.)
Включение манифеста Windows XP в ресурсы приложения
Так как использование стандартного компонента TXPManifest требует настройки исходного манифеста Delphi для каждого проекта, было бы неплохо изыскать более удобный способ. В качестве альтернативы вы можете подключить манифест к файлу вашего проекта и по мере надобности редактировать его, не опасаясь, что ваша забывчивость может отразиться на версиях в манифестах других приложений.
Для начала необходимо создать исходный файл ресурса RC, включающий единственную строку:
1 24 "ХР.manifest"
Где: 1 – номер ресурса версии библиотеки ComCtl32.dll, а 24 – номер ресурса манифеста (нумерация соответствует заголовочным файлам, распространяемых Microsoft); "ХР.manifest" – имя файла с документом XML, содержащим манифест. Естественно, манифест нужно настроить в соответствии с потребностями вашего проекта.
Теперь нужно откомпилировать файл ресурса при помощи строчного компилятора-ресурсов \Delphi7\Bin\brcc32.exe и разместить его в папке проекта.
И последняя операция – добавьте в исходный код файла проекта директиву подключения ресурса манифеста:
{$R xpmanifest.res}
В результате при компиляции проекта манифест из ресурса будет добавлен в исполняемый файл приложения.
Пример ресурсов манифеста имеется на дискете, прилагаемой к этой книге.