【问题标题】:Application portablity between Windows versionsWindows 版本之间的应用程序可移植性
【发布时间】:2011-10-13 06:59:52
【问题描述】:

我有一个使用 Halcyon dbf 组件的 Delphi 7 应用程序。它在 Windows ME 中运行良好。 不幸的是,在 Windows XP 中,绑定到 Halcyon xBase Engine 的数据感知控件无法正常运行。此外,pack 命令几乎会挂起应用程序。我尝试在XP中编译。但没有喜悦。这是否意味着 API 调用的工作方式不同?可能是数据类型意味着不同的东西......

感谢大家的帮助

【问题讨论】:

  • 在不同版本的 Windows 中编译没有任何区别。您正在运行相同的编译器,因此它会发出相同的可执行文件。
  • 这个问题太模糊了。控件在哪些方面表现不正确?另外,当您向他们提出问题时,组件供应商是怎么说的?
  • Halycon 是来自Griffin Solutions的组件
  • 好的,我编辑了问题以放入链接。我以前从未听说过。
  • 这听起来像是在 Halcyon 论坛上提出的一个好问题(更详细)...您拥有的 Halcyon 版本可能是相关的。 griffinsolutions.com/forum.php?room=main

标签: delphi winapi delphi-7


【解决方案1】:

编写良好的 Delphi 7 应用程序可以在 98 以后的任何版本的 WINdows 上运行。如果你设法制作了一个不能在 XP 上运行的应用程序,那么你应该在 XP 上调试问题,而不是重新编译然后放弃。 (不高兴!?什么?你已经完成了?这就是你排除故障和调试的方式吗?)。

对于后代,我应该指出,如果您更改 Delphi 版本,那么当然,有些事情会发生变化。例如,如果您在 Delphi 2009 或更高版本中构建您的 Delphi 应用程序,它将在 Windows XP 上正常工作,但在 Windows 98 或 ME 上就不行了。但是,如果您使用相同版本的 Delphi 构建您的应用程序,您为什么会期望应用程序的错误发生任何变化?

正如大卫所说;在不同的计算机上使用相同的代码和相同的编译器重新构建您的应用程序,会生成相同的二进制文件。如果您在 Windows XP 上遇到基本问题,那是因为您在代码中的某个地方出现了错误。

一般来说,从 Windows 98/ME 到 2000/XP 的过渡很容易,但那是十年前的事了。 我记得在 Windows 98/ME 中唯一没有在 XP 中的 API 是 Windows 98 text-to-speech API,它在 XP 中被删除并替换为不同的 API。

我相信您的困惑是 Windows 包含影响数据感知控件的某些内容。它不是。数据感知控件是纯 Delphi 的东西,它们不是 Windows XP 的一部分,它们是 100% 在 Delphi 中实现的。如果你有一些写得不好的有趣的自定义控件,也许它可能不起作用。我们不知道您的代码包含什么,您甚至没有描述失败的性质。

您需要提供更多信息,否则此问题应因无法回答或过于本地化而关闭。 (我的应用无法运行!求助!没有提供其他信息。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    相关资源
    最近更新 更多