Robert Kennedy replied: >Here's what I wrote about that component a few weeks ago. > >http://groups.google.com/group/comp.lang.pascal.delphi.misc/msg/6b7e3202fba4c7eb
Thanks Rob for the very concise explanation of what is going on with the XPManifest component. In the meantime, I looked at the source in the VCL and realized that I had to remove all references to xpman in the uses clause of any units which contained it. That indeed removed the XP theme appearance under Vista. XPManifest puts modified content of the file sample.manifest into the exe file. However, XP theme appearance, following the information in the Delphi Help, can also be generated by having a file which is called appname.exe.manifest which has the content of the sample.manifest in the app's directory, where appname is the name of the application. Apparently, Vista does not ignore the XP theme unlike Win2000, but it doesn't apply it's own Aero theme instead. Perhaps MS may remedy this in the final version of Vista, but I'm not counting on it. Or is there an AeroManifest component somewhere that I've not seen? This led me to the idea of adding an appname.exe.manifest file in the installation program for appname.exe, and then when the program runs, I get the OS with GetOSVersionEx in FormCreate, and if XP (major version 5, minor version 1) is detected, I keep appname.exe.manifest. If Vista or another non-XP OS is detected, I change the name to something innocuous rather than delete it so that it can be changed back again if the installed files are run later under XP. Unfortunately, the xml content in appname.exe.manifest is read before the main FormCreate, so the first time a program is run under Vista, it still has the XP theme error in the appearance of the buttons. On the next run, the file has been renamed and the xml doesn't run, so all is well. The same problem re-occurs in reverse if one returns to XP after having run under Vista without re-installation. I can put all this detection and changing into a setup.dll run by the installation program since I use one which offers that ability, but it would be neater if there is a way to do this in the app itself in order to avoid re-installation if one has a mult-boot machine. Is there a way to do all this **before** the xml in appname.exe.manifest runs and before FormCreate does something in order to avoid having to run the program twice to get the correct appearance under Vista or when returning to XP? Irwin Scollar _______________________________________________ Delphi mailing list -> [email protected] http://www.elists.org/mailman/listinfo/delphi

