Delphi 7では、関数/プロシージャを制御してクリックするたびに、その関数/プロシージャに移動しました。ただし、DelphiXEでは機能しません。少なくともすべての機能で機能するわけではありません。ExtUtils.pasにAssociateという関数があります。この関数は正しくコンパイルされているため、コンパイラはExtUtils.pasを見つけることができます(もちろん、ExtUtilsはUses句に追加され、そのフォルダは「ライブラリパス」に追加されます)。しかし、関数またはユニット名をcontrolキーを押しながらクリックしても、そこに移動しません。
これを修正する方法はありますか?
UPDATE1:また、関数(現在のユニットで宣言)をControlキーを押しながらクリックしても、関数が宣言されているインターフェイスセクションのカーソルは移動しません。
UPDATE2:
ExtUtilsユニットをプロジェクトのフォルダーに一時的に配置しましたが、動作するようになりました。したがって、Control + Click自体は機能しますが、IDEのフォルダがライブラリパスとブラウジングパスにある場合でも、IDEでユニットを見つけるのに問題があるようです。
同様のレポート:
http ://webcache.googleusercontent.com
http://webcache.googleusercontent.com
http://cc.embarcadero.com/Item/28269
ここに1つのレポート(以下の回答を参照)
新しいテスト:
Delphiを完全にアンインストールしました(そしてファイルとレジストリの残りを手動で削除しました)。その後、再インストールしました。CodeSite以外の追加ツールはインストールされておらず、データベースもインストールされていません。次に、新しいプロジェクトを作成しました。ボタンが含まれています。ボタンをクリックすると、TestUnit.Pasという外部PASファイルで定義されているTestMeプロシージャが実行されます。このライブラリへのパスをライブラリパスとブラウジングパスに追加しました。しかし、Control + ClickonTestMeプロシージャはまだ機能していません。TestMeプロシージャの上にマウスを置くと、ポップアップに「Declared in TestUnit」と表示されます。ここで、「TestUnit」という単語は青いリンクです。クリックするとWindowsシステムの音が聞こえますが、IDEが(ユニットに)移動しません。
TestMeの手順は次のとおりです。
procedure TestMe;
begin
Beep(800, 500);
end;
ビープ音を制御してクリックすると、Windows.pasに移動します。だから、これは機能しています。別のテストを考えている場合はお知らせください。
更新:
そして今それは動作します!明らかな理由なしに!プロジェクトを開いたり閉じたりしてコンパイルしました。ただし、自動保存オプション->エディタファイルとプロジェクトオプションの2つを除いて、Delphiに変更を加えることはありません。
更新:
これはできません!!!
これで、TestMeプロシージャを制御してクリックすると、TestUnit.pasファイルにアクセスできるようになります。そこで、最初のテスト(Delphiの再インストール前)で機能したくない元のPASファイル(ExtUtils.pas)を、TestUnit.pasと同じフォルダーに移動しました。推測:TestUnit.pasを(control +クリックで)開くことはできますが、ExtUtils.pasを開くことはできません!!!!
Delphiはとても奇妙で一貫性のない動作をします!
更新:
ExtUtils.pasを編集しましたが、もう一度TestUnit.pasを開くことができません。ケンホワイトは、Delphiにバグがある可能性があるとは言わせません。そのため、「バグ」を「デルファイ」と一緒に使用することはできません。誰かが私のためにこれらの言葉をまとめることができますか?
更新:
ExtUtils.pasへの参照を完全に削除したので、プロジェクトを(TestUnitを使用して)機能するポイントに復元しました。しかし、今はバグが続いています。TestUnitで動作する数秒前であっても、現在は再び動作していません。
更新:
今、私は重要なことに気づきました:私のソースコード(テストプロジェクト)には、コンパイル可能なコードが1行あります:
procedure TForm1.Button1Click(Sender: TObject);
begin
TestMe;
end;
このコードでは、コンパイルされていないため、青い点は表示されません。プログラムが機能した数分で、青い点が見えました。この問題の考えられる原因として、「自動保存オプション->エディターファイルとプロジェクトオプション」も除外しました。
更新:
問題を修正する方法を見つけました...数分間:プロジェクトとライブラリを別のフォルダーに移動します(どの場所でも実行できます)。control+クリックはしばらくの間機能します。ファイルを元のフォルダに戻しても機能します。したがって、Delphiはいくつかのファイルのある種のキャッシュを保持しているようです。キャッシュが壊れていて、キャッシュを保持している限り、control+clickは機能しません。しかし、ファイルを移動するときは、問題が再発してキャッシュに保存されるまで機能するように、そのキャッシュを再作成する必要があります。