【问题标题】:Delphi 2007 supports Windows 2008 R2?Delphi 2007 是否支持 Windows 2008 R2?
【发布时间】:2012-08-27 22:04:35
【问题描述】:

客户端通过 Citrix XenApp 在 Windows 2008 R2 上运行我们的 Delphi 2007 应用程序。 他一直面临文件打开对话框有时会崩溃的问题。他为 windows 和 Citrix 应用了最新更新。 我在网上看过很多文章,其中除了 Delphi 以外的各种应用程序(如 MS Office 应用程序、VS 2008、Adobe PDF 等)也出现了类似的问题。 客户在任何其他应用程序上都没有遇到这种情况,因此将责任归咎于我们的应用程序。

如果我们的应用程序的“兼容模式”是“Windows XP SP3”,那么一切都很好。因此,客户提出了一个问题,说明我们的 Delphi 应用程序是否通过了 Windows 2008 R2 认证。

如果我们必须使我们的 Delphi 2007 应用程序通过 Windows 7/2003/2008/2008 R2 认证,需要进行哪些更改?

【问题讨论】:

  • 可能与stackoverflow.com/questions/3206010/… 相同,但我敢肯定。无论如何,那里有有用的信息。
  • Delphi 2007 应用程序可以在服务器 2008 R2 上正常运行。您需要安装这样的系统并进行一些调试。或者作为第一步,使用 madExcept 进行一些诊断。
  • 在 Windows 7 64 位中调试应用程序时调用打开对话框时,我遇到了与您类似的问题。这可能是由于 shell 扩展的行为不正常。您检查事件日志是否有任何错误?

标签: delphi windows-server-2008-r2 delphi-2007


【解决方案1】:

我不是 Delphi 开发人员,但 Google 搜索 Delphi 2007 系统要求将我带到此页面 http://edn.embarcadero.com/article/36573#requirements

支持以下 Windows 平台:

Microsoft® Windows 2000 Professional or Windows 2000 Server (SP4 or higher and security updates are recommended)
Microsoft Windows XP Professional (SP2)
Microsoft Windows Vista™
Microsoft Windows Server 2003 (SP1)
The latest service packs and security updates are recommended for all platforms
Microsoft Internet Explorer 6.0 SP1 or later

我在这里看不到 Windows 2008。

【讨论】:

  • 我很确定这些是开发系统的要求,而不是运行时系统的要求。
【解决方案2】:

以下情况并不少见:

您可以自行决定和测试您的应用在 2008 年的运行情况。要知道,随着每个 Windows 版本的发布,很多事情都会发生变化,更不用说服务器/工作站了。

您告诉他们您将支持您的应用程序运行的情景。

如果您要求您的应用程序以与 xp sp3 的兼容模式运行,请告诉他们,并告诉他们您在该配置之外不支持它。如果您在虚拟环境下不支持它..那么您告诉他们。

显然,更好的答案是在 2008 R2 上对其进行测试,并检查您的所有功能并说您将支持它在自然状态下运行。

【讨论】:

    【解决方案3】:

    我们通过 DPR 中的这些附加行修复了 Windows 2008 R2 64 位终端服务器环境中的许多奇怪的 Delphi (2009) 应用程序崩溃:

    // make it Terminal Server Aware (app without installer writing to ini files / registry)
    {$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}
    

    注意:编译需要Windows单位

    崩溃出现在许多意想不到的地方,例如打开的对话框。借助出色的 madExcept 工具,我们发现应用程序在某些 Windows DLL 中的操作系统例程中崩溃,并在我们添加“终端服务器感知”标志时消失。

    【讨论】:

    • 我在 Delphi 2005 中看到了这个选项。代码至少可以用它编译。它在 2009 年之前的版本中是否没有预期的效果?
    • @mcmar 我无法回答这个问题,抱歉,我们在远程桌面环境中仅使用 Delphi 2009
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多