質問

CodeGear Delphi 2007では、特定の警告とヒントをオフにするにはどうすればよいですか? H2077をオフにしようとしています-'varname'に割り当てられた値は使用されません。

役に立ちましたか?

解決

ヒント? 特定なし

それらをすべて無効にする必要があります:

{$HINTS OFF}

警告?

{$WARN _name_of_warning_ OFF|ON|ERROR}

全リスト

についてはこちらをご覧ください

他のヒント

警告のように特定のヒントを無効にすることはできません。ヒントとは、ランタイムコードに潜在的な悪影響を与えないものです。たとえば、「「varname」に割り当てられていない値が使用されていない」というヒントが表示された場合、これは単に「クリーンアップ」する必要があるものの単なる提案です。あなたのコードでは、潜在的な実行時エラーは発生しません(もちろん、あなた自身の論理エラー以外:-)。ヒントは、コードを微調整することで常に最適に対処されます。

一方、警告は、意図しない実行時の動作を 引き起こす可能性があり、本当に対処する必要があるものです。たとえば、変数に値を割り当てる前に変数を使用することは明らかに初期化されていない変数の場合であり、「悪いこと」につながる可能性があります。ほとんどの場合、警告は「修正」によって対処する必要があります。コード。それでも、特定の状況では、警告を「誤検知」とみなすことがあります。コードが正しく機能していることを確認します。そのような場合、特定の警告を無効にすることができます。すべての警告を無効にすることは危険です。

ヒントをなくすためにコードを変更しないのはなぜですか?これらのヒントは通常かなり正確です。また、コード行(変数の初期化などを推測している)がコンパイラと無関係であっても、コードの読者にとって有用であると本当に感じている場合は、コメントに置き換えることができます。

ラースが言ったこと。また、CTRL-Oを2回押すと、警告とその現在の設定の完全なリストを取得できます。現在のユニットの上部にリストをダンプします。そこを覗いて、変更する必要があるものを見つけることができます。後でリストを削除することを忘れないでください。そうしないと、後でコードを見る人があなたを嫌います。 ;)

次を含むコード行のヒントを削除するには:

  

H2077 '%s'に割り当てられた値は使用されません

ラップできます:

{$HINTS OFF}
//...
{$HINTS ON}

たとえば、バギー 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;
  

:パブリックドメインにリリースされたコード。帰属表示は不要です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top