2016-09-23 3 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 컴파일러 지정 문은 플랫폼 지정 문이 지정된 단위의 플랫폼 지정 문에 대한 모든 경고를 설정하거나 해제합니다.


당신이 직접이 문제를 해결하기위한 정말 쉬운 방법이있다. 위에 링크 된 두 개의 문서 항목을 살펴보십시오. 이들의 제목은 다음과 같습니다

  • W1002 기호 '% s이 (가)'플랫폼 (델파이)
  • W1005 단위 '% s이 (가)'플랫폼에 특정에 따라 다릅니다 (델파이)

컴파일러 경고 당신이받은 이름은 W1005라는 경고입니다. 이 지시어를 제어하는 ​​데 사용되는 지시어를 결정하기 위해 알아야 할 모든 것입니다. 찾는 데 문제가 있으면이 경우 W1005라는 경고 이름을 검색하십시오. 또는 documentation that lists them all을 참조하십시오.