【问题标题】:Delphi compatibility with Windows 2008 Server 64 bitDelphi 与 Windows 2008 Server 64 位的兼容性
【发布时间】:2009-12-23 09:55:00
【问题描述】:

我计划在 Vista 32 位开发人员中安装使用 RAD2010 编译的应用程序。环境,win 2008 server 64位。 我使用 Firebird 2.0(32 位)作为数据库服务器。

有什么问题吗?或者它应该运行没有任何问题?

【问题讨论】:

    标签: delphi 64-bit windows-server-2008 firebird


    【解决方案1】:

    这个没问题。

    如果你可以使用Firebird 2.1(可以使用64位服务器的版本)。

    只需获取 fbclient.dll(32 位版本)

    【讨论】:

    • 好的,我会先尝试升级 Firebird 服务器。我会在这里更新状态。时间。
    【解决方案2】:

    我看不出它为什么不能工作,32 位进程和服务在 x64 下运行良好。如果您的应用程序需要大量内存,您可以设置 LARGE_ADDRESS_AWARE 标志,使您的应用程序可以访问 4GB 的地址空间而不是 2GB。如果需要,您需要在 .dpr 文件中添加包含 {$SetPEFlags $20} 的行。

    【讨论】:

    • 好的。我会试一试。时间。
    【解决方案3】:

    我们遇到了 2 个与 Windows 2008 Server 相关的问题,但它们似乎不会对您造成太大影响:

    1. Critical Sections 现在带有一个调试包,该包在发布时被缓存而不是释放。如果你创建了很多,你的应用程序的内存占用会更大。大量使用接口或线程时可能会发生。见is-the-memory-not-reclaimed-for-delphi-apps-running-on-windows-server-2008-sp1 和critical-sections-leaking-memory-on-vista-win2008。

    2. 使用 ADO 时,在传递 ConnectionString 时会出现内存泄漏(在 MS 堆栈中)。如果您关闭连接并通过 ConnectionString 大量打开它们,您最终会在一段时间后吃掉所有内存。

    【讨论】:

    【解决方案4】:

    唯一的问题是如果您的应用程序是需要加载到 64 位进程中的库。

    示例: 外壳扩展 ISAPI 应用程序

    【讨论】:

      猜你喜欢
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      相关资源
      最近更新 更多