我有一个使用Halcyon dbf组件的Delphi 7应用程序。它在Windows ME中运行良好。 不幸的是,在Windows XP中绑定到Halcyon xBase Engine的数据感知控件的行为不正确。另外pack命令几乎挂起了应用程序。我尝试在XP中编译。但没有快乐。这是否意味着API调用的工作方式不同?可能是数据类型意味着不同的东西......
感谢您的帮助
答案 0 :(得分: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文本到语音转换API,它被删除并替换为XP中的不同API。
我相信你的困惑是windows包含影响Data Aware控件的东西。它不是。 Data Aware Controls是纯粹的Delphi,它们不是Windows XP的一部分,它们是在Delphi中100%实现的。如果你有一些写得不好的有趣的自定义控件,也许它可能不起作用。我们不知道你的代码包含什么,你甚至没有描述失败的本质。
您需要提供更多信息,否则应将此问题视为无法回答或过于本地化。 (我的应用程序不起作用!帮助!没有给出其他信息。)