2009-03-10 3 views

답변

13

힌트? No specific.

당신은 그들 모두를 해제해야합니다 :

{$HINTS OFF} 

경고? 힌트가 사라질 수 있도록 여기에 full list

+0

나는 두 가지 모두를 확인 했으므로 H2077에 적합한 것을 찾지 못했을 것입니다. 이것이 정의 될만한 아이디어가 있습니까? –

+1

H는 힌트를 나타내며 힌트는 특별히 무시할 수 없습니다. 그러나 해당 행에 대한 모든 힌트를 해제 할 수 있습니다. –

+0

신속하고 간결한 응답 주셔서 감사합니다! –

9

에 대한

{$WARN _name_of_warning_ OFF|ON|ERROR} 

확인은 왜 대신 코드를 변경하지 마십시오? 그 힌트는 대개 꽤 정확합니다. 그리고 만약 당신이 정말로 코드 라인 (일부 변수 초기화 또는 기타를 추측하고있어)이 컴파일러와 관련이 없더라도 코드 독자에게 유용하다고 생각한다면 주석으로 바꿀 수 있습니다.

+0

짐 (Jim),이 프로그램은 내가 수십억 가지가 상속 된 프로그램입니다. 실제 오류가 있으면 읽을 수 있도록 필터링하려고합니다. 변수는 결코 사용되지 않는 특정 값으로 초기화됩니다. 그것은 중요하지 않습니다. 단지 변수 초기화 일뿐입니다. –

+0

Dustin, 단지 변수 초기화가 아닙니다. 이와 같은 힌트는 고려하지 않았을 수도있는 코드 또는 실행 경로의 문제를 지적 할 수 있습니다. 코드를 검토하고 수정하는 데 몇 초가 걸리므로 한 번에 모든 작업을 수행 할 필요가 없습니다. –

4

Lars가 말한 것. 또한 CTRL-O를 두 번 눌러 경고의 전체 목록과 현재 설정을 가져올 수 있습니다. 현재 유닛의 맨 위에리스트를 덤프합니다. 거기를 살펴보고 변경할 필요가있는 것을 찾을 수 있습니다. 나중에 목록을 지우는 것을 잊지 마십시오. 나중에 코드를 보는 사람들은 당신을 싫어할 것입니다. ;)

17

경고와 같이 특정 힌트를 비활성화 할 수 없습니다. 힌트는 런타임 코드에 잠재적으로 악영향을 미치지 않는 것들입니다. 예를 들어, "varname '에 할당 된 값"이 사용되지 않음 "이라는 힌트를 보게되면 코드에서"정리 "해야 할 사항에 대한 제안 일 뿐이지 만 잠재적 런타임 오류는 발생하지 않습니다 (자신의 논리 오류, 물론 :-). 힌트는 항상 코드를 조정하여 가장 잘 해결됩니다.

경고, 다른 한편으로는, 가능성이 의도하지 않은 런타임 동작을 일으킬 수 있고 정말가 해결해야하는 것들입니다. 예를 들어 변수에 값을 할당하기 전에 변수를 사용하는 것은 초기화되지 않은 변수의 경우이며 "나쁜 것"으로 이어질 수 있습니다. 대다수의 경우, 코드를 "수정"하여 경고를 해결해야합니다. 그렇더라도 특정 상황에서는 경고를 "거짓 긍정"으로 간주 할 수 있으며 코드가 올바르게 작동하고 있는지 확인할 수 있습니다. 이 경우 특정 경고를 비활성화 할 수 있습니다. 모든 경고를 비활성화하는 것은 위험합니다.

{$HINTS OFF} 
//... 
{$HINTS ON} 
: 당신은 그것을 포장 할 수

를 사용하지 않습니다 '% s'이 (가)에 할당

H2077 값 :

+2

나는 코드를 더 잘 배울수록 오 탐률의 인스턴스가 줄어든다는 것을 알게되었습니다. –

3

가있다 코드의 라인에 대한 힌트를 제거하려면

예 : 버그가 있음 Vcl.ComCtrls.pas :

procedure TTrackBarStyleHook.Paint(Canvas: TCanvas); 
//.... 
begin 
    if not StyleServices.Available then Exit; 

    {$HINTS OFF} 
    Thumb := ttbTrackBarDontCare; //value assigned to 'Thumb' never used 
    {$HINTS ON} 

    //... 
end; 

참고 : 공개 된 코드입니다. 기여가 필요하지 않습니다.

관련 문제