任何已知的delphi问题都要测试Windows 7的兼容性

时间:2009-08-10 07:30:16

标签: delphi windows-7

当APP适用于Vista时,是否存在任何应针对Win7兼容性测试的特定问题。

注意:我的应用程序使用Systray并且有.Manifest文件。

2 个答案:

答案 0 :(得分:3)

如果应用程序在Vista中运行良好,则可以在Windows 7中执行相同操作。如果清单文件缺少兼容性部分,则默认情况下应用程序将以Vista兼容模式运行,如here所述*

我认为通过“systray”你指的是通知区域。在Windows 7中,用户对通知区域的控制已得到增强,您的用户可能需要启用应用程序的图标才能显示在那里。 MSDN documentation提出了使用通知区域的一些注意事项 - 它确实适用于短期通知,尤其是对于没有桌面存在的应用程序。例如,它不适合快速启动。

在这种情况下,没有理由期待与德尔福相关的问题。

*编辑:来自MSDN文章(链接上面的星号):

  

将在其清单中显示没有兼容性部分的应用程序   Windows 7和未来的Windows版本默认情况下Windows Vista行为。   请注意,Windows XP和Windows Vista会忽略此清单部分及其   对他们没有影响。

     

以下Windows组件基于提供不同的行为   Windows 7中的兼容性部分:

     
      
  • RPC默认线程池
  •   
  • DirectDraw Lock
  •   
  • DirectDraw位块传输(Blt)到主节点而没有剪切窗口
  •   
  • GetOverlappedResult API
  •   
  • 程序兼容性助手(PCA)
  •   

可以在that article中找到每种行为(Vista与Win7)的详细信息。

答案 1 :(得分:3)

简短的回答似乎是,在Windows Vista上运行没有重大问题的大多数应用程序都可以在Windows 7上运行。有一些很好的通用Win 7应用程序兼容性建议on the CIOL network,如果你最需要注意的话您正在从Windows XP迁移到Windows Vista,但总结如下:

  • 不要假定Windows上的文件夹位置 - 程序文件,我的音乐等文件夹可以更改Windows版本之间的路径。例如,“我的文档”文件夹已从XP以后更改了每个Windows版本中的位置。
  • 将信息保存到注册表或文件夹时使用正确的API - 如果您不使用“官方”API,则可能会与Windows UAC发生冲突。在根据应用程序数据的上下文(当前用户,所有用户,应用程序数据等)保存应用程序数据时,Vista和Windows 7远没有XP那么宽容。
  • 遵守UAC的原则 - 自Windows Vista for Windows 7以来,Windows UAC功能已经降低,但您仍应根据给定的指导编写应用程序,例如设计和测试它在没有管理员权限的情况下运行,除非绝对必要。

除了这些提示之外:鉴于您的应用程序使用了SysTray,您可能希望查看"Windows 7 Controls for Delphi" from Daniel Wischnewski的alpha。他还撰写了12个帖子,展示了它们的用途,让您感受到这一特定领域的一些新的视觉差异。在Delphi 2009中也有一些Windows 7/64 Bit Specific errors报告,您可能会在开发和测试应用程序时遇到这些问题。