未定義の識別子のエラーを消すには?

解決


たかのん  2014-11-04 18:25:13  No: 46853  IP: [192.*.*.*]

開発環境 Windows8.1  DelphiXE7
コンポーネントのインポートでActiveXを取り込み、ビルドは成功しているのですが、
構造ウィンドウでは登録したActiveXが「未定義の識別子」でエラーが表示されます。
パスの設定かと思い、プロジェクトオプションの検索パスや、ツールオプションの
ライブラリパスにActiveXをインポートしたパスを設定してみましたが、解消できませんでした。
エラーが表示されなくなる方法をご存知の方、教えて頂けますでしょうか?

編集    削除
HOta  2014-11-07 20:14:06  No: 46854  IP: [192.*.*.*]

変数の階層が多いと出ることがあります。
一度別の変数で階層を減らすとでなくなります。

var
  ahoge : variant;
begin
  ahoge := Snantara.hoge;
  ahoge.Value = 'sss';
end;

編集    削除
たかのん  2014-11-12 23:46:50  No: 46855  IP: [192.*.*.*]

HOta様、ご回答ありがとうございます。
しかし、これ以上階層を減らすことはできない状態です。
例として記述しますと、

var
 aaa : TAAA;

 aaa.SystemFileName := 'abc.txt';
 aaa.Init(0);

上記のコードで
「未定義の識別子TAAA」が宣言部分で、
「TAAAは…という名前のメンバを含んでいません。」が変数、関数を使用している
場所で構造ウィンドウにエラーとして表示されています。

編集    削除
通りすがり  2014-11-13 22:39:06  No: 46856  IP: [192.*.*.*]

エラーインサイト機能が使用しているコンパイラは通常のコンパイルに使用するものと異なるため(らしい)、
あたらしめの言語機能を使用するとコンパイルエラーになってしまうことが多いです。そのほかにもキャッシュされている
dcuを参照しているため内容の整合が取れなくなるとエラー表示されたり、dcuを見失ってエラーだらけになったり、
といったこともあります。基本的にはエラーの表示は気にする必要がないと思うのですが、もし気に入らないのであれば、
オプションのエディタ設定 | 支援機能のエラーインサイトを無効にすれば、エラーは一切表示されません。

編集    削除
たかのん  2014-11-14 18:32:31  No: 46857  IP: [192.*.*.*]

通りすがり様、ご回答ありがとうございます。
エラーインサイト機能が構造ウィンドウにエラーとして表示しているのですね。
あたらしめの言語機能というものが今回のActiveXに関係するのか分かりませんが、
エラーインサイト機能を無効にすることでエラーの表示は出なくなりました。
他のエラーも表示されなくなってしまうので、ケースバイケースで切り替えて
使用したいと思います。

編集    削除