测试 Windows 7 兼容性的任何已知 delphi 问题
Posted
技术标签:
【中文标题】测试 Windows 7 兼容性的任何已知 delphi 问题【英文标题】:any known delphi issues to test for Windows 7 compatibility 【发布时间】:2010-11-18 05:17:47 【问题描述】:当APP与Vista兼容时,是否有任何具体问题需要测试Win7兼容性。
注意:我的应用使用 Systray 并且有 .Manifest 文件。
【问题讨论】:
【参考方案1】:如果应用程序在 Vista 中运行良好,那么在 Windows 7 中也可以正常运行。如果您的清单文件缺少兼容性部分,则默认情况下您的应用程序将在 Vista 兼容模式下运行,如 here 所述。*
我假设您所说的“系统托盘”指的是通知区域。通知区域的用户控制在 Windows 7 中得到了增强,您的用户可能需要启用您的应用程序的图标才能显示在那里。 MSDN documentation 建议使用通知区域的一些注意事项 - 它实际上是用于短期通知,特别是对于没有桌面存在的应用程序。例如,它不适合快速启动。
在这种情况下,没有理由期待与 Delphi 相关的问题。
*编辑:来自 MSDN 文章(上面带有星号的链接):
清单中没有兼容性部分的应用程序将收到 Windows Vista 在 Windows 7 和未来 Windows 版本上的默认行为。 请注意,Windows XP 和 Windows Vista 会忽略此清单部分,并且它 对他们没有影响。
以下 Windows 组件提供不同的行为,基于 Windows 7 中的兼容性部分:
RPC 默认线程池 DirectDraw 锁定 DirectDraw 位块传输 (Blt) 到主节点,无需裁剪窗口 GetOverlappedResult API 程序兼容性助手 (PCA)
可以在that article 中找到每种行为(Vista 与 Win7)的详细信息。
【讨论】:
我用 COMPATIBILITY 块和没有它都测试过,完全没有区别(两者都工作得很好)。是否有任何理由从用户的角度添加兼容性块? 好的,添加了一些细节,但完整的细节在链接的 MSDN 文章中。【参考方案2】:简短的回答似乎是大多数在 Windows Vista 上运行且没有重大问题的应用程序都可以在 Windows 7 上运行。有一些很好的通用 Win 7 应用程序兼容性建议on the CIOL network,如果您“从 Windows XP 迁移到 Windows Vista,但总的总结是:
不要假定 Windows 上的文件夹位置 - Program Files、My Music 等文件夹可以在不同 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 版本。他还写了1 或2 的帖子来展示它们的用途,让您感受一下这个特定领域的一些新的视觉差异。还有一些针对 Delphi 2009 的 Windows 7 / 64 Bit Specific errors 报告,您可能会在开发和测试应用程序期间遇到这些问题。
【讨论】:
列出的警告适用于 Vista 和 Windows 7,因此它们没有具体回答问题。好建议,无论如何。同样,提到的错误与 D2009 IDE 有关,而不是已编译的程序(后者是问题的主题)。 确实如此。我提到了 IDE 错误,即使它是未请求的,因为它是相关的有用信息。如果他想像他所说的那样在 Windows 7 下测试和调试他的应用程序,那么他很可能会遇到这个问题 - 因此我想我会提到它并为他节省一些时间。 如果可能的话,也可以进行协同设计。当用户第一次运行你的应用程序时,它将避免一些丑陋的对话框。 为 Codesign (skamradt) +1 - 这将越来越重要。以上是关于测试 Windows 7 兼容性的任何已知 delphi 问题的主要内容,如果未能解决你的问题,请参考以下文章
升级 Newtonsoft.JSON 是不是存在任何已知的向后兼容性问题?
Windows 上的 Python 并行处理是不是存在任何已知问题? [关闭]
适用于 Windows 7 的 Delphi/Paradox 数据库桌面 DBD32.exe 设置