From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,CP1252 Path: g2news2.google.com!postnews.google.com!24g2000yqm.googlegroups.com!not-for-mail From: =?ISO-8859-1?Q?Hibou57_=28Yannick_Duch=EAne=29?= Newsgroups: comp.lang.ada Subject: GNAT and Windows XP Manifest Date: Fri, 10 Jul 2009 02:41:10 -0700 (PDT) Organization: http://groups.google.com Message-ID: <4ac14c83-a361-4832-b762-02ed046d463e@24g2000yqm.googlegroups.com> NNTP-Posting-Host: 77.198.58.55 Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1247218870 9104 127.0.0.1 (10 Jul 2009 09:41:10 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 10 Jul 2009 09:41:10 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: 24g2000yqm.googlegroups.com; posting-host=77.198.58.55; posting-account=vrfdLAoAAAAauX_3XwyXEwXCWN3A1l8D User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; fr),gzip(gfe),gzip(gfe) Xref: g2news2.google.com comp.lang.ada:6932 Date: 2009-07-10T02:41:10-07:00 List-Id: A little summary to start with : the Windows common controls comes in two flavors with Windows XP. There is the old one, which is the default and give the GUI a Windows 98 style. This is the version 5.8. Beside, there is also the version 6, which gives the well known Windows XP style to the GUI. As the default is the version 5.8, something is to be done for each applications to give it the Windows XP style : tell Windows to use Common Controls version 6 instead of the default version 5.8 This is done using what is named an Assembly Manifest, which can be an XML file in the application's directory, or which can be included in the application's resources. It seems that GNAT has some troubles with these assembly Manifest. As exemple, if the application makes reference to a manifest, either as an XML file or as a resource, any message box opened, will close immediatly (nothing is displayed, just the message box sound can be heard) without waiting for the user to select any button, returning 0, meaning an error, while GetLastError return 0, meaning no error. This happens even if as an exemple, a message box is opened before invokation to =93 adainit =94, which first maked me think there was a trouble in he way the application is linked. This is not a trouble with the library files used to link to Windows DLLs, beceause these are the same as the ones GCC use, and a C application compiled with GCC, using the same DLL import libraries, does not fail. So perhaps it is a matter of the way the application is built ? It happens even if the application does not use an external main program, so it is nor a trouble with this external main program. This is very strange, I have no idea of what's involved here. If GetLastError, which is testes right after the call to MessageBoxA would returns any error information, this would help, but this just returns 0.