IDE上での「未定義の識別子」エラーを消したい

解決


のりさん  2016-01-04 23:32:28  No: 47848

DelphiXEを使用しています。

親クラスのprotectedで型宣言したレコード型を、
派生クラスで使用(コンパイル&実行OK)することはできるのですが、
IDE上では「未定義の識別子」で変数に赤い波線が付きます。
このIDE上でのエラーを発生させなくすることは可能でしょうか。

このレコード型は、以下の条件を満たしておきたいです。
・親クラス側で宣言し、別ユニットの派生クラス側でも使用できる。
・派生クラス以外では使用できない。

よろしくお願いいたします。


通りすがり  2016-01-05 00:40:32  No: 47849

エラーインサイトそのものを切るという手しかないかと。エラーインサイト

http://docwiki.embarcadero.com/RADStudio/XE/ja/%E6%94%AF%E6%8F%B4%E6%A9%9F%E8%83%BD%EF%BC%88IDE_%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%EF%BC%89#.E3.82.A8.E3.83.A9.E3.83.BC_.E3.82.A4.E3.83.B3.E3.82.B5.E3.82.A4.E3.83.88

で使われている構文解析機能は実際のコンパイルで使われるコンパイラと必ずしも同機能でないため、新しめの機能を使うとエラーを
誤検知してしまいます。また状況によってはIDEを巻き込んでクラッシュしたりCPUを100%使って無限ループから帰ってこないとか
問題が多いので、気になるならoffにした方がよいと思います。


のりさん  2016-01-05 03:56:26  No: 47850

通りすがりさん、ありがとうございます。
エラーインサイトで調べてみるとどうにも精度が良くないようですね。

ただ、本件以外ではエラーインサイトも一応役には立っていますので、
質問はいったん解決とし、実装の方を考え直してみます。
この度はありがとうございました。


通りすがり  2016-01-05 08:47:24  No: 47851

エラーインサイトはあくまで目安なので、そのために実装を変更するのは本末転倒ですよね。
コンパイルが通って実行が正しく行われるならそれで十分だと個人的には思います。
(仕事のコードでエラーインサイトを理由にあるべき実装が曲げられていたら書き直しさせると思いますw)


のりさん  2016-01-06 16:24:11  No: 47852

解決済みのところ、貴重なご意見ありがとうございます。
たしかに方向性がおかしいですね。
エラー表示を取り除くことに躍起になっていました。

幸いこのエラー表示は派生クラスのユニットファイルを表示したときに
しか目にしない程度のものですので、無視するかエラーインサイトを
無効化する方針でいこうと思います。

この度はありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加