5

最近我们将代码从 Delphi 2009 升级到 Delphi XE 并更新了我们的 Indy 组件(不确定这是否相关)。

但是从那以后,我们在 Windows Server 2003 机器上加载和保存 XML 文件时遇到了错误。

XMLDoc.LoadFromFile()
XMLDoc.SaveToFile()

以下是错误

与其他操作系统上的超过 600kb 相比,Windows Server 2003 上的 DLL msvcrt.dll 小得多(300kb 左右)......所以它在该文件中丢失了一些东西并导致错误......

有谁知道如何解决这一问题?TXMLDocument或者有没有我可以尝试的替代方法?

4

3 回答 3

3

默认情况下,TXMLDocument/IXMLDocument只是在 Windows 平台上运行时围绕 MSXML COM 接口的包装器。Indy 和 Indy都TXMLDocument没有使用该_ftol2_sse()函数,甚至没有链接到 msvcrt.dll。您项目中的其他问题有问题。

于 2012-10-15T20:56:28.510 回答
1

msvcrt.dll 是 Microsoft Visual C++ 运行时的(一部分)。我认为您有一个不包含此功能的此运行时的较旧(甚至可能是较新)版本。

现在您必须找出调用此函数的位置。您是否将 obj 文件与您的项目链接或使用(其他)第 3 方 dll?

于 2012-10-16T11:21:22.267 回答
1

要回答最后一部分(“有替代方案吗?”),您可能需要查看 Jedi Code Library 的TJclSimpleXML课程。它不需要任何外部 DLL,速度非常快,而且非常易于使用。此外,如果你在 Delphi 中编码,现在 JCL 和 JVCL 是必不可少的。

我相信http://wiki.delphi-jedi.org/wiki/JEDI_Code_Library是他们的页面。我听说在西雅图你可以通过 IDEs 集成包管理器获得它。

于 2015-12-08T15:32:31.577 回答