Windows 7 上 Delphi 6 中的“特定于平台”警告

Posted

技术标签:

【中文标题】Windows 7 上 Delphi 6 中的“特定于平台”警告【英文标题】:"specific to a platform" warning in Delphi 6 on Windows 7 【发布时间】:2011-04-22 00:23:44 【问题描述】:

我们有一些在 Delphi 6 中编译的遗留代码。有计划在更新的 IDE 中重写它,但它们是一条出路。

当我们编译它时,我们会收到几个这样的警告:

FPrecision 特定于平台。

这是在 VCL\DB.pas 中。 (不是我们的文件。)FPrecision 是这样定义的:

FPrecision 整数平台

我知道为什么它是特定于平台的,但我真的不知道该怎么做。

这只是在我们迁移到 Windows 7 进行开发时才开始发生的。

我看到了this question,但该解决方案对我不起作用。我无法将预编译器标签添加到 DB.pas 并且项目文件没有任何选项(我可以看到)来抑制这个警告。

我唯一的选择是关闭所有警告还是接受它?

【问题讨论】:

你不能关闭特定的警告吗? IIRC 在某处有一个复选框列表。 @Henk Holterman - 如果你能指出我的列表(遗憾的是在 Delphi 6 中),那么这就是答案。 太久以前了。但是忽略它是非常安全的,Delphi 6 是 CLX 实验,这只是意味着“不在 Linux 上”。我很确定有一个设置。编译器/构建设置上的第二个选项卡可能。特定于 Prob 项目。 查看这个问题的答案***.com/questions/870862/… 【参考方案1】:

如果你只为特定平台开发打开项目源(Project > View source)并添加

$WARN SYMBOL_PLATFORM OFF

【讨论】:

还有 $WARN UNIT_PLATFORM OFF 可以用来消除警告,例如在使用 FileCtrl 单元时。【参考方案2】:

您可以放心地忽略平台警告。 Delphi 6 和 7 是在当时开发的,当时 Borland 正在试验 Kylix 以提供一种编写跨平台 Delphi 程序的方法。标记为平台的项目是平台相关的,通常(但不限于)涉及文件访问例程和常量。 Kylix 项目失败,不再支持,所以即使你想,也没有办法将代码编译到除 win32 之外的平台上。我不完全确定,但据我记得,在更高版本的 IDE 中不再有平台警告(如果我错了,请纠正我)。

最好的问候——Spook。

【讨论】:

你错了。它们仍然存在,但项目文件默认关闭平台警告。如果/当 Embarcadero 推出 Mac 开发时,这些警告可能会再次发挥重要作用。 好吧,实际上,如果默认情况下禁用它们,那几乎就像根本没有警告一样 :) 根据过去的 Borland/CodeGear/Embarcadero 策略,我会投票选择“如果”而不是关于“何时”。好吧,底线是,如果您不打算在 win32 世界之外开发应用程序,您可以放心地忽略所有平台警告。最好的问候——Spook。 现在(Delphi XE7)它们再次有效。

以上是关于Windows 7 上 Delphi 6 中的“特定于平台”警告的主要内容,如果未能解决你的问题,请参考以下文章

Delphi 中的 Windows 7 登录屏幕保护程序

Delphi 中的 Windows 7 样式通知浮出控件

适用于 Windows 7 的 Delphi/Paradox 数据库桌面 DBD32.exe 设置

Windows 7 与 Delphi 的集成

Delphi、安装程序和 Windows 7

Windows 7 的任务栏上的 Delphi 表单图标模糊(启用 MainFormOnTaskbar)