エディタオプション設定で、[支援機能]の[自動機能]をONにしています。
これまではちゃんと支援機能が動いていたのですが、これが効かなくなっていまいました。オブジェクト後の「.」や、関数名の後ろの「(」入力後に、候補が出るというヤツです。
コーディングにエラーがあれば利かなくなることは認識していましたが、今回はコンパイルが通るのに利きません。(一瞬、マウスカーソルがwait状態になり、その後候補が現れずに沙汰やみになる)
どなたか、この原因が分かる方はいらっしゃいますでしょうか?
よろしくお願いします。
>今回はコンパイルが通るのに
それって本当にコンパイルされてるの?
はい、されています。
Delphi歴は長いので、その辺は大丈夫です。
デバッグ実行、EXE単体での実行共に稼働もします。
ちなみに、「Ctrl+SPACE」でも前述と同様です。
今回の事例とは関係なく的外れのように思いますが、確認させてください。
支援機能が働く場合は全くないのでしょうか?
例えば、
●1 同一プロジェクト内で機能しないのがある特定の部分だけである
●2 ある特定のプロジェクトでのみ機能しない
といったことはありませんでしょうか?
●1のケースとして具体例をあげますと、
procedure TForm1.Button1Click(Sender: TObject);
var
sMsg:String;
begin
sMsg:=Format('%-10S %-10S',['タイトル',Label1.Caption]);
ShowMessage(sMsg);
end;
このコードはコンパイル可能でその後の実行も問題ありませんが、
Label1.Caption
の部分ではご指摘のような挙動を示し、私の環境(Delphi6 Personal + Win2000)では支援機能が働きません。
あまり気にしたことはないですが、同様な感じで他にもいくつか支援機能が働かない場合があります。
発売元にも問い合わせたところ、「他のプロジェクトをコピーして作成すると機能しなくなることがある」との回答を受けました。
今回困ったケースでは、他のプロジェクトからコピーし、機能を追加する形で作業をしていたところ(支援機能も動いてました)、何かをきっかけに特定のユニット内全体で利かなくなってしまったというものです。
支援機能なしではどうしても効率が落ちるため、もう一度作り直しから行い、丁寧に確認しながら作業を進めると、支援機能は働いております。
残念ながらそのきっかけとなるものが分かりません。
ツイート | ![]() |