2016-09-23 58 views
7

我有這樣一段代碼:

INTERFACE 

{$WARN SYMBOL_PLATFORM OFF} 
USES 
    Winapi.Windows, etc, {$IFDEF MSWINDOWS}Vcl.FileCtrl, {$ENDIF} System.IniFiles; 
{$WARN SYMBOL_PLATFORM ON} 

編譯器示出了:

[dcc32警告] W1005單位 'Vcl.FileCtrl' 是 特定於平臺

即使{$ WARN SYMBOL_PLATFORM OFF}存在。
爲什麼?

回答

10

您正在使用錯誤的指令。 SYMBOL_PLATFORM控制符號爲的警告標記爲平臺特定。您的警告涉及單元標記的平臺特定。

UNIT_PLATFORM控制這些警告。

整個單元被標記爲(使用平臺提示指令),其中包含可能不適用於所有平臺的材料。如果您正在編寫多設備應用程序,則該設備可能會導致問題。例如,使用OleAuto中定義的對象的單元可能使用PLATFORM指令進行標記。

$ WARN UNIT_PLATFORM ON/OFF編譯器指令以平臺指令爲單位打開或關閉關於platform指令的所有警告。


還有爲你工作了這一點爲自己一個非常簡單的方法。看看我上面鏈接的兩個文檔主題。他們的標題是:

  • W1002符號 '%s' 是特定於平臺(德爾福)
  • W1005單位 '%s' 的特定於平臺(德爾福)

編譯器警告你收到的名字的警告爲W1005。這是您需要知道的用於確定使用哪個指令來控制它的全部內容。如果您在查找它們時遇到任何問題,只需在此例中搜索警告名稱W1005即可。或者參考documentation that lists them all