In Delphi 7, whenever I control + click a function / procedure, it gets me to this function / procedure. But it does not work in Delphi XE - at least not with all functions. I have an Associate function in ExtUtils.pas The function is compiled correctly, so the compiler can find ExtUtils.pas (and, of course, ExtUtils is added to the Uses clause and its folder is added to the "Library path"). But when I control + click on a function or unit name, it does not turn me on.
Any way to fix this?
Update1: In addition, Control + Click on a function (declare in the current block) does not move the cursor in the INTERFACE section where the function is declared.
UPDATE2:
I temporarily put the ExtUtils block in the project folder, and now it works. Thus, Control + Click by itself works, but it seems that the IDE has problems finding the device, even if its folder is present in the library path and view path.
Related reports:
http://webcache.googleusercontent.com
http://webcache.googleusercontent.com
http://cc.embarcadero.com/Item/28269
One report right here (see Answers below)
New test:
I completely deleted Delphi (and manually deleted the files and the rest of the registry). Then reinstall again. NO additional tools other than CodeSite were installed, even databases. Then I created a new project. It contains a button. When I click the button, it starts the TestMe procedure, which is defined in the external PAS file called TestUnit.Pas. I added the path to this library in the library path and view path. But the Control + Click on TestMe procedure still does not work! If I hover over the TestMe procedure, the pop-up message "Declared in TestUnit", where the word "TestUnit" is a blue link. If I click on it, I hear the sound of a Windows system, but the IDE does not accept me there (in a block).
The TestMe procedure is as follows:
procedure TestMe; begin Beep(800, 500); end;
If I control + click on the Beep procedure, this leads me to Windows.pas. So it works. Please let me know if you mean another test.
UPDATE:
And now it works! For no obvious reason! I just opened and closed and compiled the project. But I do not make any changes in Delphi, except for these two: autosave options-> Editor files and project parameters.
UPDATE:
This can not be !!! So, now I can access the TestUnit.pas file when I control + click on the TestMe procedure. So, I moved the original PAS file (ExtUtils.pas), which did not want to work in my initial testing (before reinstalling Delphi) in the same folder where TestUnit.pas is located. Guess what: I can open (with control + click) on TestUnit.pas, but not ExtUtils.pas !!!!
Delphi is acting so weird and inconsistent!
UPDATE:
I edited ExtUtils.pas and now I can not open AGAIN TestUnit.pas. Ken White won't let me say that Delphi may have errors. Therefore, I can not use the "error" with "Delphi". Can someone convey these words to me?
UPDATE:
I completely deleted any link to ExtUtils.pas - so I restored the project to such an extent that it worked (with TestUnit). But now the error persists. Even if a few seconds before he worked with TestUnit, now it does not work again.
UPDATE:
Now I understand the important thing: in my source code (in the test project) I have one line of compiled code:
procedure TForm1.Button1Click(Sender: TObject); begin TestMe; end;
Blue dots are not displayed for this code - since it would not be compiled. In those few minutes when the program was working, I saw blue dots. I also excluded the option "Autosave" - ββ"Editor files and project parameters" as a possible reason for this problem.
UPDATE:
I found a way to fix the problem ... in a few minutes: I move the project and library to another folder (any place will do this). Management + click will work for a while. It even works if I get the files back to the original folder. So it looks like Delphi is keeping some kind of cache of some files. As long as the cache is broken and it stores the cache, control + click won, thatβs the job. But when I move the files, it must recreate this cache so that it works until the problem reappears and is saved in the cache.