【问题标题】:Which midas.dll to use? 32bit datasnap/64bit server使用哪个 midas.dll? 32 位数据快照/64 位服务器
【发布时间】:2013-05-08 22:47:21
【问题描述】:

考虑以下几点: 我们在 64 位 Windows Server

上安装了 32 位 Datasnap 服务器

在 embarcadero\rad studio\11.00\redist 中有 2 个文件夹:32 位和 64 位,每个文件夹都有一个 midas.dll。

我们应该把哪个文件放在哪里?

windows\system32windows\syswow64

【问题讨论】:

    标签: delphi 32bit-64bit datasnap delphi-xe4


    【解决方案1】:

    在 64 位系统上:

    • 64 位系统目录名为System32
    • 32 位系统目录名为SysWOW64

    如果必须将 DLL 复制到系统目录,请确保将 32 位 DLL 复制到 32 位系统目录,将 64 位 DLL 复制到 64 位系统目录。如果您希望您的应用程序能够找到 DLL,那么这是必不可少的。

    由于您的代码是 32 位的,因此您需要使用 32 位的 DLL。

    但是,您可能应该将 DLL 与可执行文件放在同一文件夹中,因为 Windows 系统目录是私有的并保留供系统使用。应用程序不应修改系统目录。

    【讨论】:

    • 我有一个可执行文件,需要加载 midas.dll 才能运行。我按照here 的指示进行了轻微更改以使其运行:regsvr32 C:\Windows\ Syswow64\midas.dll
    【解决方案2】:

    永远不要在 Windows 系统目录中放任何东西(除非你有非常、非常、非常好的理由写在那里)。

    这是一个非常糟糕的做法(可以追溯到 Windows 3.x 时代和糟糕的开发人员技能,因为这些目录总是在搜索路径中)只会导致麻烦(即,如果另一个应用程序用它自己的 DLL 更改了很少或没有支票)。将 DLL 放在应用程序文件夹中。它将确保您的应用程序使用正确版本的 DLL。或者,如果您出于非常、非常、非常好的理由必须在其他地方编写它,请使用其中一种技术将目录添加到搜索路径或重定向 DLL 加载。

    Windows系统目录必须被视为操作系统私有目录。这种 Windows 没有充分禁止的做法往往会使 Windows 成为一个缓慢且不稳定的系统。

    如果您的应用程序是 32 位的,则无论操作系统如何,您都需要 32 位 DLL。

    【讨论】:

      猜你喜欢
      • 2010-10-06
      • 2011-04-09
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 2010-10-12
      相关资源
      最近更新 更多