Kontrolle + Klick auf Funktion funktioniert nicht in Delphi XE

8

Wenn ich in Delphi 7 eine Funktion / Prozedur kontrolliere + angeklickt habe, habe ich mich an diese Funktion / Prozedur gehalten. Aber in Delphi XE funktioniert es nicht - zumindest nicht mit allen Funktionen. Ich habe eine Funktion namens Associate in ExtUtils.pas Die Funktion ist korrekt kompiliert, so dass der Compiler die Datei ExtUtils.pas finden kann (und natürlich wird ExtUtils zur Uses-Klausel hinzugefügt und sein Ordner wird in 'Bibliothekspfad' hinzugefügt). Aber wenn ich die Funktion oder den Gerätenamen kontrolliere + klicke, bin ich nicht da.

Irgendeine Möglichkeit, das zu beheben?

UPDATE1: Außerdem wird durch Drücken von Strg + Klick auf eine Funktion (in der aktuellen Einheit deklarieren) der Cursor im Abschnitt INTERFACE, in dem die Funktion deklariert ist, nicht verschoben.

UPDATE2:
Ich habe die ExtUtils Einheit vorübergehend in den Projektordner gelegt und jetzt funktioniert es. Also, das Control + Click selbst funktioniert, aber es scheint, dass die IDE Probleme hat, die Einheit zu finden, selbst wenn ihr Ordner im Bibliothekspfad und im Suchpfad vorhanden ist.

Ähnliche Berichte:
Ссылка
Ссылка
Ссылка
Ein Bericht hier (siehe Antworten unten)

Neuer Test:
Ich habe Delphi vollständig deinstalliert (und lösche die Dateien und Registry-Reste manuell). Dann erneut installiert. Es wurden KEINE zusätzlichen Tools außer CodeSite installiert, nicht einmal die Datenbanken. Dann habe ich ein neues Projekt erstellt. Es enthält eine Schaltfläche. Wenn ich auf die Schaltfläche klicke, wird die TestMe-Prozedur ausgeführt, die in einer externen PAS-Datei namens TestUnit.Pas definiert ist. Ich habe den Pfad zu dieser Bibliothek im Bibliothekspfad und im Suchpfad hinzugefügt. Aber das Control + Click on TestMe-Verfahren funktioniert immer noch nicht! Wenn ich mit der Maus über die TestMe-Prozedur fahre, wird im Popup-Fenster "In TestUnit deklariert" angezeigt, wobei das Wort "TestUnit" ein blauer Link ist. Wenn ich darauf klicke, höre ich einen Windows-Systemsound, aber die IDE bringt mich nicht dorthin (zum Gerät).

Das TestMe-Verfahren ist das:

%Vor%

Wenn ich + die Beep-Prozedur kontrolliere, klicke ich auf Windows.pas. Also, das funktioniert. Bitte lassen Sie mich wissen, wenn Sie einen anderen Test in Betracht ziehen.

UPDATE:
Und jetzt funktioniert es! Ohne ersichtlichen Grund! Ich habe nur das Projekt geöffnet und geschlossen und das Projekt zusammengestellt. Aber ich mache keine Änderungen an Delphi außer diesen beiden: AutoSave-Optionen- & gt; Editor-Dateien und Projektoptionen.

UPDATE:
Das kann nicht sein !!!
So, jetzt kann ich auf die TestUnit.pas-Datei zugreifen, wenn ich + Kontrolle über die TestMe-Prozedur steuere. Also habe ich die ursprüngliche PAS-Datei (ExtUtils.pas), die in meinem ersten Test (vor der Neuinstallation von Delphi) nicht funktionieren wollte, in den gleichen Ordner verschoben, in dem sich TestUnit.pas befindet. Rate mal was: Ich kann (mit Strg + Klick) zu TestUnit.pas öffnen, aber nicht zu ExtUtils.pas !!!! Delphi wirkt so seltsam und inkonsequent!

UPDATE:
Ich habe ExtUtils.pas editiert und kann nun AGAIN TestUnit.pas nicht mehr öffnen. Ken White lässt mich nicht sagen, dass Delphi möglicherweise Fehler haben könnte. Daher kann ich den "Bug" nicht zusammen mit "Delphi" verwenden. Kann jemand diese Wörter für mich zusammensetzen?

UPDATE:
Ich habe jeden Verweis auf ExtUtils.pas entfernt - also habe ich das Projekt an dem Punkt wiederhergestellt, an dem es funktioniert hat (mit TestUnit). Aber jetzt bleibt der Fehler bestehen. Auch wenn es wenige Sekunden vorher mit TestUnit funktionierte funktioniert es nicht mehr.

UPDATE:
Jetzt merke ich eine wichtige Sache: In meinem Quellcode (im Testprojekt) habe ich eine einzige Zeile kompilierbaren Code:

%Vor%

Die blauen Punkte erscheinen für diesen Code nicht - da er nicht kompiliert worden wäre. In den wenigen Minuten, in denen das Programm funktionierte, habe ich die blauen Punkte gesehen. Ich habe auch 'AutoSave Optionen- & gt; Editordateien und Projektoptionen als mögliche Ursache für dieses Problem.

UPDATE:
Ich habe einen Weg gefunden, um das Problem zu beheben ... für einige Minuten: Ich verschiebe das Projekt und die Bibliothek in einen anderen Ordner (jeder Ort wird es tun). Der Control + Klick funktioniert eine Weile. Es funktioniert sogar, wenn ich die Dateien zurück in den ursprünglichen Ordner lege. So scheint es, dass Delphi eine Art Cache einiger Dateien speichert. Solange der Cache beschädigt ist und den Cache behält, funktioniert die Steuerung + Klick nicht. Aber wenn ich die Dateien verschiebe, muss der Cache neu erstellt werden, so dass er funktioniert, bis das Problem wieder auftritt und im Cache gespeichert wird.

    
Altar 08.06.2011, 10:38
quelle

7 Antworten

7

Hier sind 5 Entwickler, die Delphi 2010 und 2 auch mit XE verwenden, und wir erleben dasselbe mit dem Ctrl-Klick wie Sie. Es scheint nicht mehr zu funktionieren. Wir konnten niemals ein Muster oder eine Lösung dafür finden. Daher hören wir von Zeit zu Zeit Flüche von Kabinen ...

Wenn das passiert, benutze ich shift-ctrl-F, um eine Suche durchzuführen.

Sylvain

    
user787640 07.06.2011, 14:32
quelle
3

Zuerst, vielen Dank, dass ihr Hinweise zu diesem Problem gegeben habt. Vielleicht ist das eine lange Zeit alte Frage, aber schließlich, nach vielen Versuchen, denke ich, dass die Ursache des Problems tatsächlich im "Quellcode des Projekts" liegt.

IDE-Version: Delphi XE

Bitte versuchen Sie:

  1. in den Projektoptionen & gt; & gt; Delphi Compiler & gt; & gt; Kompilieren, stellen Sie sicher:

    Debug Information: true

    Symbol Referenz Info: Referenz Info

  2. in der Projektquelldatei (dpk-Datei, geöffnet von Project & gt; & gt; Quelltext anzeigen), Entfernen Sie {$ REFERENCEINFO OFF} oder ändern Sie zu {$ REFERENCEINFO ON}

Beachten Sie, dass Schritt 2 sehr wichtig ist, sogar Schritt 1 erledigt, es kann die Quelle immer noch nicht ohne Schritt 2 durchsuchen.

    
chenzero 20.10.2012 20:15
quelle
3

Ich benutze Delphi 5 und die Strg-Taste habe auch Probleme, ich weiß nicht, ob es noch in den neuen Delphi IDEs funktioniert, aber ich kann von Deklaration zu Implementierung mit CTRL-SHIFT-UpArrow oder DownArrow gehen. Hoffe es hilft.

    
user3387305 06.03.2014 09:06
quelle
2

Es gab immer diese zwei verschiedenen Optionen in Delphi:

  1. Bibliothekspfad - wird beim Kompilieren Ihrer App verwendet.

  2. Browsing-Pfad - wird von Code Insight verwendet, d. h. wenn Sie auch auf Kennungen klicken.

Sie müssen das zweite überprüfen. Er muss den Pfad (en) zu den Quelldateien enthalten, mit denen Sie zu navigieren versuchen. Strg + Klicken Sie auf.

    
Andriy M 07.06.2011 07:57
quelle
1

Ich habe festgestellt, dass, wenn ich einen Datensatztyp im Schnittstellenbereich verwende und dieser nicht durch einen Typausdruck definiert ist, Ctrl-Klick und andere Sprungfunktionen (Strg + Umschalt + Auf / Ab) nicht funktionieren.

%Vor%

Mit dem obigen Code kann ich nicht zur Implementierung der Prozedur mit Strg + Shift + Down springen. Die Korrektur, die ich verwenden muss:

%Vor%

Getestet mit Delphi XE4.

    
Fenistil 10.09.2013 23:17
quelle
1

Für zukünftige Referenz. Mit Delphi 2010 habe ich festgestellt, dass ein ; vor virtual im Abschnitt interface einen Unterschied macht;

%Vor%

Dieses ; -Zeichen kann die STRG + Klickfunktion (Code Insight) unterbrechen. Kompiliert trotzdem gut.

    
Barry Staes 23.04.2014 12:50
quelle
0

( Symbolreferenzinfo ) Diese Option hat keine Wirkung, wenn Debuginformationen und lokale Symbole (siehe oben) nicht aktiviert sind.

Codevervollständigung und Code-Navigationsfunktionen (Strg + Klick) funktionieren nur, wenn die Symbolreferenzinformationen auf Referenzinformationen eingestellt sind.

    
lxpbuaa 25.11.2014 07:24
quelle

Tags und Links