2010-10-06 55 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