Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

any known delphi issues to test for Windows 7 compatibility

are there any specific issues that should be tested for Win7 compatibility when APP works well with Vista.

notes: my app uses Systray and has .Manifest file.

like image 223
Tom Avatar asked Aug 10 '09 07:08

Tom


2 Answers

If the app runs well in Vista it can be expected to do the same in Windows 7. If your manifest file lacks a Compatibility section, then your application will run in Vista compatibility mode by default, as explained here.*

I assume that by "systray" you are referring to the Notification Area. User control of the Notification Area has been enhanced in Windows 7, and your users may need to enable your application's icon to show there. The MSDN documentation suggests some considerations for use of the Notification Area - that it's really for short-term notifications, especially for apps that have no desktop presence. For example, it's not intended for quick-launch.

There's no reason to expect Delphi-related issues in this context.

*EDIT: From the MSDN article (link with asterisk above):

Applications without a Compatibility section in their manifest will receive Windows Vista behavior by default on Windows 7 and future Windows versions. Note that Windows XP and Windows Vista ignore this manifest section and it has no impact on them.

The following Windows components provide divergent behavior based on the Compatibility section in Windows 7:

  • RPC Default Thread Pool
  • DirectDraw Lock
  • DirectDraw Bit Block Transfer (Blt) to Primary without Clipping Window
  • GetOverlappedResult API
  • Program Compatibility Assistant (PCA)

Details for each behavior (Vista vs. Win7) can be found in that article.

like image 105
Argalatyr Avatar answered Nov 14 '22 18:11

Argalatyr


The short answer seems to be that most applications that run without major problems on Windows Vista will work on Windows 7. There is some good general Win 7 App Compatibility advice on the CIOL network which you most need to be aware of if you're moving from Windows XP to Windows Vista but the general summary is:

  • Do not assume a folder location on Windows - Folders such as Program Files, My Music etc can change paths between versions of Windows. The My Documents folder for example has changed location in every version of Windows from XP onwards.
  • Use the correct APIs when saving information to the registry or folders - You may fall afoul of Windows UAC if you do not use the "official" API. Vista and Windows 7 are far less forgiving than XP when it comes to saving application data depending upon the context of it (current user, all users, application data etc).
  • Abide by the principles of UAC - The Windows UAC feature has been toned down since Windows Vista for Windows 7 but you should still write your application according to the guidance given such as designing and testing it to run without admin rights unless absolutely necessary.

In addition to these hints: given your application's use of the SysTray and you may wish to check out the alpha of the "Windows 7 Controls for Delphi" from Daniel Wischnewski. He has also written 1 or 2 posts demonstrating their use which give you a feel for some of the new visual differences in this particular area. There have also been a few Windows 7 / 64 Bit Specific errors reported for Delphi 2009 which you might encounter during development and testing of your app.

like image 30
jamiei Avatar answered Nov 14 '22 18:11

jamiei