2010-10-06 66 views
11

我们有一些在Delphi 6中编译的遗留代码。有计划在更新的IDE中重写它,但它们是一条出路。“特定于平台”在Delphi 7上的Delphi 6警告

当我们编译它,我们得到一些警告这样的:

FPrecision is specific to a platform.

这是VCL \ db.pas单元。 (不是我们的文件。)FPrecision的定义是这样的:

FPrecision Integer Platform

我能看到为什么它是特定的平台,但我实在不明白该怎么做了。

这只在我们转移到Windows 7上开发时才开始发生。我看到了this question,但该解决方案对我无效。我无法将预编译器标签添加到DB.pas中,并且项目文件没有任何选项(我可以看到)来压制此警告。

是我唯一的选择关闭所有警告或住在它吗?

+0

你不能关闭特定的警告? IIRC有一个复选框列表。 – 2010-10-06 19:05:07

+0

@亨克霍尔特曼 - 如果你能指出我的名单(在德尔福6悲伤地),那就是答案。 – Vaccano 2010-10-06 20:02:48

+0

太久以前。但是忽视这一点非常安全,Delphi 6是CLX实验,这仅仅意味着“不在Linux上”。我很确定有一个设置。编译器/编译设置的第二个选项卡可能是。 Prob项目特定。 – 2010-10-06 20:08:51

回答

14

如果你只开发特定平台的开放源码项目(项目>查看源代码),并添加

{$WARN SYMBOL_PLATFORM OFF} 
+2

{$ WARN UNIT_PLATFORM OFF}可用于摆脱警告,例如使用FileCtrl单元时。 – HpTerm 2014-12-09 09:49:51

3

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

此致敬礼 - Spook。

+1

你错了。他们仍然在那里,但项目文件默认关闭了平台警告。如果/当Embarcadero将Mac开发推出市场时,这些警告可能会再次发挥重要作用。 – 2011-01-07 23:47:56

+1

嗯,实际上,如果它们默认是禁用的,那就好像根本没有任何警告:)基于过去的Borland/CodeGear/Embarcadero战略,我会投票选择'if'而不是'when'。那么,底线是,如果您不打算在win32世界之外开发应用程序,那么您可以放心地忽略所有平台警告。 此致敬礼 - Spook。 – Spook 2011-01-08 10:13:13

+1

现在(Delphi XE7)它们再次有效。 – Ampere 2015-03-17 11:36:13