Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Code-Completion bei Delphi XE2 funktioniert nicht (https://www.delphipraxis.net/175057-code-completion-bei-delphi-xe2-funktioniert-nicht.html)

TheFrog 28. Mai 2013 13:18

Code-Completion bei Delphi XE2 funktioniert nicht
 
Hallo,

ich weiß, dieses Thema wurde schon einige mal hier diskutiert! Dennoch finde ich keine Lösung, oder besser gesagt, keine der angebotenen Lösungen (Unit-Aliases angeben, IDE Fix Pack XE2 installieren, ...) hat funktioniert.

Wir haben ein größeres Projekt mit ca. 25 Packages auf Delphi XE2 (Update 4) umgestellt. Leider funktioniert die Code-Completion gar nicht, oder nur sporadisch bei einigen Units.

D.h.
- CTRL-Space zeigt nichts mehr an, d.h. auch kein Popup-Menu
- CTRL-Shift-Space zeigt keine Parameter einer Methode mehr an
- nach Eingabe eines . kommt keine Liste der Methoden, Properties, usw. einer Klasse

Ich verzichte ungern auf dieses Feature der IDE, weil es das Arbeiten doch sehr erleichtert.

Hat irgend jemand eine Idee, wie ich der IDE wieder auf die Sprünge helfen kann?

Danke, Hans.

Der schöne Günther 28. Mai 2013 13:39

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Und was ist bei Code Insight eingestellt?

TheFrog 28. Mai 2013 13:48

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Bis auf:

Autom. vervollständigen (bei mir aktiv)
Hinweise (bei mir inaktiv)

bei der Quelltextvorlagen-Vervollständigung steht genau das gleiche drin.

Habe ich aber mal testhalber so eingestellt wie du, hat leider nichts gebracht.

Der schöne Günther 28. Mai 2013 14:02

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Eventuell irgendein Add-On, das schon etwas auf STRG+SPACE gelegt hat? CnPacks legt meine ich seine eigene Code Completion auf STRG+SPACE und schaltet die eingebaute ab. Wenn man das wieder ausschaltet, aber irgendwo das "Unterdrücke Standard Code Completion" noch eingeschaltet ist...

Kurzum: Sind Add-Ons/Plugins/Experten/Packages/Wieauchimmer drin? Vielleicht liegts an denen?

TheFrog 28. Mai 2013 14:24

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Außer dem IDE Fix Pack ist eigentlich nichts installiert. Achja, CodeExplorer und GEXperts habe ich noch installiert, aber die Shortcuts habe ich eigentlich überprüft.

Wie gesagt, sporadisch und bei bestimmten Units funktioniert die Code-Completion ja auch. D.h. für mich, dass eigentlich kein Shortcut umdefiniert wurde.

Kann es an AQTime liegen, welches ja mit XE2 installiert wird? Hier dachte ich habe ich auch schon mal gelesen, dass dies Schwierigkeiten macht. Jedoch, auch auf so ein Feature verzichte ich ungern.

jaenicke 28. Mai 2013 15:15

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Starte mal die bds.exe mit -rDummy als Parameter. Das bewirkt, dass der Schlüssel Dummy in der Registry benutzt wird, so dass keine Addons usw. geladen werden. Dann lade nur was du absolut für das Projekt benötigst und teste es einmal so.

TheFrog 28. Mai 2013 15:40

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Vielen Dank für den Tipp! Hat leider auf die Schnelle nicht funktioniert. Bis ich alle 25 Packages mit allen Seiteneffekten wieder installiert kriege, dauert es noch!

Werde es aber trotzdem weiter probieren!

Der schöne Günther 28. Mai 2013 16:18

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
AQTime hat bei mir in XE2 immer wieder dafür gesorgt, dass links der Strukturbaum leer war. Und wenn ich mich recht erinnere auch manchmal, dass die Code Completion nicht funktioniert hat!!!

Da ich keine Ahnung hatte, was es überhaupt ist, flog es raus und mein Lebensstandard verbesserte sich erheblich. Ob ich es jetzt bei XE4 auch irgendwo drin habe weiß ich nicht, wahrscheinlich nicht...

jaenicke 28. Mai 2013 17:07

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Genau dafür ist der Start mit Dummy-Schlüssel gut: Um erst einmal herauszufinden, ob es am Projekt oder an einem Addon liegt. Liegt es an ersterem, wird sich so leicht nichts ändern lassen, geht es aber im Dummy-Schlüssel sollte es relativ einfach sein herauszufinden an welchem der dann nicht geladenen Addons es liegt.

blondervolker 28. Mai 2013 18:11

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Habe XE2 als Admin installiert,denne ging es.Jedenfalls bei mir...:)

jbg 28. Mai 2013 19:01

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Zitat:

Zitat von blondervolker (Beitrag 1216757)
Habe XE2 als Admin installiert,denne ging es.Jedenfalls bei mir...:)

Klingt mehr so, als hättest du irgendwo ein Rechteproblem gehabt.

Der schöne Günther 28. Mai 2013 19:20

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Als was sollte man es sonst installieren, wenn nicht als Admin? Die RAD Studio-Installation braucht doch zwingend Administratorrechte.

jbg 28. Mai 2013 22:01

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1216767)
Als was sollte man es sonst installieren, wenn nicht als Admin? Die RAD Studio-Installation braucht doch zwingend Administratorrechte.

Ich dachte du startest es als Admin. Die Installation braucht natürlich Admin-Rechte (Elevation).

TheFrog 29. Mai 2013 09:19

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Ich habe jetzt mal den Versuch gemacht, XE2 mit -rDummy zu starten. Nach einigem Hin und Her (deshalb hat die Antwort etwas gedauert), habe ich mein Projekt wieder zum Laufen gekriegt!

Ergebnis:
Wie vorher, d.h. einige Units haben eine funktionierende Code-Completion, bei anderen geht gar nichts!

Allerdings: AQTime war immer noch installiert! Ist wohl der nächste Schritt, dieses zu deinstallieren (eher ungern)!

Kann es an der Größe des Projekts liegen (> 1.000.000 LOC)? Oder an der Komplexität, welche durch die vielen Packages ensteht (d.h. kann evtl. Delphi bestimmte Bezüge nicht mehr auflösen)?

Hans.

jaenicke 29. Mai 2013 09:57

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Zitat:

Zitat von TheFrog (Beitrag 1216812)
Kann es an der Größe des Projekts liegen (> 1.000.000 LOC)? Oder an der Komplexität, welche durch die vielen Packages ensteht (d.h. kann evtl. Delphi bestimmte Bezüge nicht mehr auflösen)?

Es gab früher immer wieder mal Quelltexte, die gerade Error Insight oder die Quelltextvervollständigung durcheinander gebracht haben. Seit XE kommt das aber nicht mehr so oft vor, zumindest bei unseren Projekten.
AQTime habe ich allerdings deaktiviert, weil es Abstürze und Fehler verursacht hat.

TheFrog 29. Mai 2013 10:13

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Deaktiviert heißt deinstalliert, oder gibt es noch eine andere Möglichkeit?

jaenicke 29. Mai 2013 10:18

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Code:
HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Known IDE Packages
Dort kannst du einfach das Package herausnehmen.

jbg 29. Mai 2013 11:37

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Der Code nutzt aber nicht zufällig noch irgendwo die nicht mehr vorhandenen und nur durch Unit-Aliase verfügbaren WinProcs und WinTypes Units?

TheFrog 29. Mai 2013 13:33

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
WinTypes und WinProcs habe ich wirklich noch in einer Drittkomponente gefunden, welche von einem Package eingebunden wurde. Habe ich durch Windows ersetzt, hat aber nichts gebracht.

jbg 29. Mai 2013 14:07

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Dann fallen mir nur noch zwei Möglichkeiten ein um dem Fehler auf die Spur zu kommen.

Delphi mit Delphi starten um die IDE zu debuggen. Vielleicht fliegt irgendwo eine Zugriffsverletzung (im Compiler).
Unter "Start / Prozess laden..." bei "Lokal" unter "Prozess" $(BDS)\bin\bds.exe eintragen and "Laden" klicken (nicht wundern was alles an so Exception beim Laden der IDE auftreten)

Mit ProcessMonitor nachschauen, ob irgend eine Unit nicht gefunden werden kann.

TheFrog 29. Mai 2013 15:05

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Die einzige Fehlermeldung, welche ich gleich mal gekriegt habe war, dass die AQTime-bpl nicht geladen werden konnte. Diese habe ich daraufhin entfernt.

Danach lief Delphi im Debugger durch und ich konnte mein Projekt auch laden. Sobald ich die Code-Completion aufrufen wollte (CTRL-Space, oder CTRL-Shift-Space) sind diese Events auch angekommen. Es hat sich aber nichts weiter getan, d.h. keine Fehlermeldung im aufrufenden Delphi, aber auch keine Anzeige der Code-Completion.

Über den ProcessMonitor habe ich nichts entdeckt, was irgendwie auf eine nicht gefunde Unit hindeuten könnte (muss aber zugeben, dass hier durchaus meine Grenzen erreicht sind).

Beim Aufruf der Code-Completion kam eine Meldung die folgendermassen lautet:

RegOpenKey HKLM\SOFTWARE\Wow6432Node\Microsoft\CTF\KnownClass es NAME NOT FOUND

Kann sich hier was verbergen, was auf ein Problem hindeutet?

Trotzdem schon mal vielen Dank für die Tipps!

TheFrog 3. Jun 2013 11:29

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Ich glaube ich habe die Lösung des Problems gefunden:

Wir haben in unserem Projekt eine eigene Resource-Datei eingebunden, welche Verionsinformationen enthält. Diese Resource wurde in der DPK-Datei gleich an erster Stelle eingebunden:

Delphi-Quellcode:
package MyPackage;

{$R MyPackage.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
Bei Packages, welche eine eigene Resource-Datei in der DPK-Datei einbinden, funktionierte die Code-Completion nicht. Wir haben nun eine eigene Unit gemacht, welche nur die Resource-Datei einbindet (also nicht mehr über die DPK), dann scheint es wieder zu funktionieren.

Hier der funktionierende Teil:

Delphi-Quellcode:
package MyPackage;

{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}

Hat einiges an Zeit und Energie gekostet, das Problem zu lokalisieren.

Vielen Dank allen für die Anregungen,

Hans.

Martin W 11. Mär 2014 22:13

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Danke für den Tipp, hab schon länger eine Lösung für das Problem gesucht. Lag auch bei mir an der *.res Datei.

eholzer 23. Jun 2015 20:30

AW: Code-Completion bei Delphi XE2 funktioniert nicht
 
Danke für den Tipp. Bei mir war nicht direkt die *.res Datei aber dank der Diskussion konnte ich mein Problem finden.
Es ist DELPHI XE7 und plötzlich hat Code-Completion aufgehört zu funktionieren.
Bei mir war die DPR Datei. Ich hatte ein Paar Zeilen in "Uses"

uses
...........,
...........,
{$ifdef XXXXX}
......,
.........',
..........,
{$endif }
............,
............;

Damit funktionierte Code-Completion nicht.
$ifdef und $endif Zeilen auskommentiert und Code-Completion läuft.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz