Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Code-Vervollständigung funktioniert nicht mehr einwandfrei (https://www.delphipraxis.net/168257-code-vervollstaendigung-funktioniert-nicht-mehr-einwandfrei.html)

RWarnecke 11. Mai 2012 12:54

Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Hallo zusammen,

in meinem Delphi XE2 wird die Code-Vervollständigung zwar aufgerufen, aber es wird nicht der aktuell erste Befehl markiert dessen Buchstaben ich eingegeben habe. Die Folge davon ist, dass ich Enter-Drücke und nur die Buchstaben stehen habe und nicht den Befehl.

Gibt es da irgendwo einen Haken, den ich setzen muss ?

Delphi XE2 Update 4 ist installiert.

RWarnecke 12. Mai 2012 16:50

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
*push* Hat keiner eine Idee ?

Perlsau 13. Mai 2012 13:54

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von RWarnecke (Beitrag 1166099)
in meinem Delphi XE2 wird die Code-Vervollständigung zwar aufgerufen, aber es wird nicht der aktuell erste Befehl markiert dessen Buchstaben ich eingegeben habe. Die Folge davon ist, dass ich Enter-Drücke und nur die Buchstaben stehen habe und nicht den Befehl. Gibt es da irgendwo einen Haken, den ich setzen muss?

Habe das gestern mal bei einem XE2-User ausprobiert und konnte dein Problem nicht nachvollziehen. Eingestellt wird das entsprechende Verhalten in Tools/Optionen/Editor-Optionen/Code Insight. Und da ein Bild bekanntlich mehr als 1000 Worte sagt:

RWarnecke 14. Mai 2012 04:26

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Perlsau,

danke für Deine Antwort. Bei mir sieht das ganze so aus wie im Anhang. Im ersten Bild (Code-Eingabe.jpg) gebe ich den Namen der Komponente ein, nur leider wird diese nicht markiert. Das gleich passiert auch mit den Eigenschaften. Im Bild Code-Insight-Options.jpg findest Du meine Einstellungen.

Perlsau 14. Mai 2012 04:32

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von RWarnecke (Beitrag 1166373)
Hallo Perlsau,

danke für Deine Antwort. Bei mir sieht das ganze so aus wie im Anhang. Im ersten Bild (Code-Eingabe.jpg) gebe ich den Namen der Komponente ein, nur leider wird diese nicht markiert. Das gleich passiert auch mit den Eigenschaften. Im Bild Code-Insight-Options.jpg findest Du meine Einstellungen.

Moin Rolf,

da ich selbst "nur" über RadStudio 2009 verfüge, kann ich das im Moment nicht nachvollziehen. Aber mir kommt beim Anblick deiner schwarzgefärbten Editoren der Verdacht, daß möglicherweise alles mit rechten Dingen zugeht in deiner IDE, du das aber nicht mitbekommst, weil irgendwo Hinter- und Vordergrundfarbe gleich sind.

RWarnecke 14. Mai 2012 04:37

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Moin Moin,

wenn alles mit rechten Dingen zugehen würde, müsste ich ja nach Eingabe von L_ und Enter dort L_1 stehen haben. Dieses passiert aber nicht, es bleibt lediglich nur L_ stehen. Das gleiche passiert wenn ich statt der Enter-Taste einen Punkt schreibe.

Perlsau 14. Mai 2012 05:13

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von RWarnecke (Beitrag 1166375)
Moin Moin,

wenn alles mit rechten Dingen zugehen würde, müsste ich ja nach Eingabe von L_ und Enter dort L_1 stehen haben. Dieses passiert aber nicht, es bleibt lediglich nur L_ stehen. Das gleiche passiert wenn ich statt der Enter-Taste einen Punkt schreibe.

Ich glaub, ich hab dein Problem erst jetzt richtig verstanden: Du gibst den ersten Buchstaben einer Variablen ein und es erscheint das Code-Vervollständigungs-Fenster, aber der erste Eintrag ist nicht wie erwartet markiert?

Wenn du nun mit der Maus oder mit Cursor-Tasten den gesuchten Eintrag markierst, geht es dann? Ja, ich weiß, eigentlich sollte der erste Eintrag automatisch markiert sein. In meinem Delphi 2009 pro konnte ich das von dir beschriebene Verhalten ebenfalls nicht nachvollziehen, ja, ich schaffe es nicht einmal, diese Funktion der Ide auszuschalten, ohne die entsprechenden Haken im Code-Insight-Menü zu entfernen. Sobald die Haken gesetzt sind, funktioniert Code-Insight bei mir vorbildlich. Und auch, als ich am Samstag bei einem Kunden an seiner XE2-Ide saß, ist mir keinerlei Fehlverhalten aufgefallen. Allerdings haben wir dort nicht ständig programmiert und Code eingegeben, sondern waren auf Fehlersuche.

Ich glaube nicht, daß ich dir hier weiterhelfen kann. Aber du könntest mal die Foren-Suchfunktion oder gleich Google bemühen, da findet sich einiges, z.B.:

jensw_2000

Da steht, es handle sich um einen bekannten Bug, nach dem Speichern des Quellcodes müsse es wieder gehen. Ausprobieren ...

Nachtrag: Könnte auch sein, daß dein Code Insight zu langsam reagiert, weil du zu viele Units offen oder bestimmte Zusätze wie AQtime oder Live Bindings geladen hast, wie ich eben dort nachgelesen habe.

RWarnecke 14. Mai 2012 07:19

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von Perlsau (Beitrag 1166376)
Ich glaub, ich hab dein Problem erst jetzt richtig verstanden: Du gibst den ersten Buchstaben einer Variablen ein und es erscheint das Code-Vervollständigungs-Fenster, aber der erste Eintrag ist nicht wie erwartet markiert? Genau so ist es.

Zitat:

Zitat von Perlsau (Beitrag 1166376)
Wenn du nun mit der Maus oder mit Cursor-Tasten den gesuchten Eintrag markierst, geht es dann? Ja, ich weiß, eigentlich sollte der erste Eintrag automatisch markiert sein.

Wenn ich den entsprechenden Eintrag mit den Cursor-Tasten oder der Maus markiere und Enter drücke, dann geht es. Drücke ich jetzt zum Beispiel den Punkt, dann schreibt er mit den Punkt direkt hinter meine Eingabe und vervollständigt nicht die Eingabe durch das markierte Wort.

Zitat:

Zitat von Perlsau (Beitrag 1166376)
Ich glaube nicht, daß ich dir hier weiterhelfen kann. Aber du könntest mal die Foren-Suchfunktion oder gleich Google bemühen, da findet sich einiges, z.B.:

jensw_2000

Da steht, es handle sich um einen bekannten Bug, nach dem Speichern des Quellcodes müsse es wieder gehen. Ausprobieren ...

Das Problem mit den roten Unterstreichungen habe ich auch. Da habe ich mich aber mittlerweile schon dran gewöhnt.

Zitat:

Zitat von Perlsau (Beitrag 1166376)
Nachtrag: Könnte auch sein, daß dein Code Insight zu langsam reagiert, weil du zu viele Units offen oder bestimmte Zusätze wie AQtime oder Live Bindings geladen hast, wie ich eben dort nachgelesen habe.

Das gleiche passiert auch dann, wenn ich ein neues Projekt öffne und dann lediglich nur ein Label draufsetze und in dem Ereignis FormCreate schreiben will Label1.Caption.

Perlsau 14. Mai 2012 07:26

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von RWarnecke (Beitrag 1166382)
Zitat:

Zitat von Perlsau (Beitrag 1166376)
Nachtrag: Könnte auch sein, daß dein Code Insight zu langsam reagiert, weil du zu viele Units offen oder bestimmte Zusätze wie AQtime oder Live Bindings geladen hast, wie ich eben dort nachgelesen habe.

Das gleiche passiert auch dann, wenn ich ein neues Projekt öffne und dann lediglich nur ein Label draufsetze und in dem Ereignis FormCreate schreiben will Label1.Caption.

Hast du deiner IDE mal ein wenig mehr Zeit gelassen, bevor du Enter betätigst? Wie gesagt: ich weiß auch nicht mehr als das, was ich bereits geschrieben hatte, da bei mir dieser Fehler noch niemals aufgetreten ist. Vielleicht hilft eine Neuinstallation :roll:

RWarnecke 15. Mai 2012 08:41

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von Perlsau (Beitrag 1166383)
Hast du deiner IDE mal ein wenig mehr Zeit gelassen, bevor du Enter betätigst?

Es ist egal wie lange ich warte. Die Zeile wird trotzdem nicht markiert.

Hat jemand anderes noch eine Idee ?

jaenicke 15. Mai 2012 08:55

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Starte Delphi einfach mal mit dem Parameter -rNix. Wenn es dann geht, liegt es an den Einstellungen in deinem Registryzweig.

RWarnecke 15. Mai 2012 11:22

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Hallo Sebastian,

mit dem Parameter -rNix funktioniert es wunderbar. Was macht dieser Parameter und weißt Du wo ich da etwas ändern muss ?

jaenicke 15. Mai 2012 12:00

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Dieser Parameter bewirkt, dass statt dem Standardzweig in der Registry der Zweig Nix benutzt wird. Da es den nicht gibt, wird er neu angelegt und standardmäßig initialisiert.

Das Schwierige ist nun die Unterschiede zu suchen. Ich weiß nicht, ob ein Vergleichstool da sinnvolle Ergebnisse anzeigt, wenn du beide Zweige exportierst. Wenn du in einer der Dateien den Rootzweg überall durch den anderen ersetzt, könnte es genug Übereinstimmungen geben.

Die Registryzweige findest du direkt unter:
HKEY_CURRENT_USER\Software\Embarcadero
(jetzt also auch Nix)

himitsu 15. Mai 2012 12:20

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Wenn du nichts wichtiges in dem NIX-Zweig vermisst, also an privaten Einstellungen und so,
dann kannst'e auch einfach HKEY_CURRENT_USER\Software\Embarcadero\9.0 löschen.
(das wird dann genauso wie NIX neu angelegt)

RWarnecke 15. Mai 2012 13:11

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von himitsu (Beitrag 1166640)
Wenn du nichts wichtiges in dem NIX-Zweig vermisst, also an privaten Einstellungen und so,
dann kannst'e auch einfach HKEY_CURRENT_USER\Software\Embarcadero\9.0 löschen.
(das wird dann genauso wie NIX neu angelegt)

Wenn ich das so mache wie Du hier beschrieben hast, dann sind alle Library-Path, alle Einträge für die Experten u.s.w weg.

Ich habe es zumindest jetzt auf einem Rechner geschafft. Ich habe lediglich den Zweig HKEY_CURRENT_USER\Software\Embarcadero\Nix\9.0\Cod e Insight nach HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Cod e Insight importiert und schon wieder funktioniert es.

Ich werde es heute Abend oder morgen noch bei mir am Rechner daheim ausprobieren.

himitsu 15. Mai 2012 13:39

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Joar, dann ist alles zurückgesetzt ... wie frisch installiert. :angle2:
Wie gesagt, nur wenn du in "NIX" (was ja auch nagelneu war) nichts vermisst.

Dann wirst du entweder rausfinden müssen wo genau der Fehler liegt und dieses beheben
oder du mußt dir eben das zusätzliche Zeugs neu installieren (oder die nötigen Teilpfade der Registry rüberkopieren, bzw. nicht mit löschen).

jaenicke 15. Mai 2012 14:28

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von RWarnecke (Beitrag 1166647)
Ich habe es zumindest jetzt auf einem Rechner geschafft. Ich habe lediglich den Zweig HKEY_CURRENT_USER\Software\Embarcadero\Nix\9.0\Cod e Insight nach HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Cod e Insight importiert und schon wieder funktioniert es.

Häng doch einfach mal die beiden Exporte an (oder dann auf dem anderen PC, wenn du sie da nicht mehr hast), das wird sich schon herausfinden lassen wo da der Unterschied ist.

haentschman 15. Mai 2012 18:42

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

*push* Hat keiner eine Idee ?
...doch 8-) Wenn auch Alternativen möglich wären... Die Codevervollständigung in der IDE abschalten und die vom CnPack verwenden. Diese ist um einiges intelligenter und übersichtlicher.

jaenicke 15. Mai 2012 18:50

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Naja... dann hast du eine andere als ich...
Theoretisch ist die nicht schlecht, aber praktisch finde ich die oft eher nervig. Und wenn ich die "passiver" einstelle, bringt sie eigentlich kaum noch Vorteile, eher Nachteile.

RWarnecke 16. Mai 2012 06:29

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von haentschman (Beitrag 1166688)
Zitat:

*push* Hat keiner eine Idee ?
...doch 8-) Wenn auch Alternativen möglich wären... Die Codevervollständigung in der IDE abschalten und die vom CnPack verwenden. Diese ist um einiges intelligenter und übersichtlicher.

Das hätte ich ja gerne gemacht. Nur die Code-Vervollständigung von der IDE ließ sich garnicht mehr abschalten.

Zitat:

Zitat von jaenicke (Beitrag 1166663)
Zitat:

Zitat von RWarnecke (Beitrag 1166647)
Ich habe es zumindest jetzt auf einem Rechner geschafft. Ich habe lediglich den Zweig HKEY_CURRENT_USER\Software\Embarcadero\Nix\9.0\Cod e Insight nach HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Cod e Insight importiert und schon wieder funktioniert es.

Häng doch einfach mal die beiden Exporte an (oder dann auf dem anderen PC, wenn du sie da nicht mehr hast), das wird sich schon herausfinden lassen wo da der Unterschied ist.

Auch beim zweiten Rechner hat es wunderbar funktioniert. Die Exporte sind im Anhang, einfach nur das .txt entfernen.

Ich bin auf jedenfall wieder glücklich, dass die IDE Code-Vervollständigung wieder sauber funktioniert.

jaenicke 16. Mai 2012 06:43

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die Unterschiede sind einfach zu finden:

Anhang 36926

Die ersten beiden sind irrelevant. Ich glaube mich zu erinnern, dass das an dem automatischen Aufruf liegt. Wenn der aktiviert ist, wird nicht mehr automatisch markiert und eingefügt, damit man beim Tippen nicht unerwünschte Texte eingefügt bekommt.

HPB 31. Aug 2012 11:47

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von RWarnecke (Beitrag 1166568)
Zitat:

Zitat von Perlsau (Beitrag 1166383)
Hast du deiner IDE mal ein wenig mehr Zeit gelassen, bevor du Enter betätigst?

Es ist egal wie lange ich warte. Die Zeile wird trotzdem nicht markiert.

Hat jemand anderes noch eine Idee ?

Hat sich erlegt. Habe nicht alles gelesen.

Sidi61 6. Mär 2014 22:29

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Hallo zusammen,

bin jetzt endlich von Delphi 2007 auf Delphi XE5 umgestiegen. Nach anfänglichen Schwierigkeiten beim compilieren eines 2007er Projekts (falscher wert in Systemvariable Plattform) lief es eigentlich ganz gut - bis ich ein Indy Beispielprojekt geladen hatte :pale:

Uses Windows, Messages ... konnte plötzlich nicht mehr aufgelöst werden und wurde mit roter welliger Unterstreichung dargestellt. Dies änderte sich auch nicht als ich mein Projekt wieder geladen hatte, welches zuvor funktionierte.

Spätestens jetzt hatte ich bereut so viel Geld für die Aktualisierung ausgegeben zu haben :wall:

ich habe dann diesen Beitrag gefunden und Delphi mit -rNix gestartet und konnte hiermit das Problem beheben.

Ich habe anschließend Delphi beendet und in der Registry BDS in BDS-alt und anschließend Nix in BDS umbenannt.

Bein nächsten Start von Delphi (ohne Parameter -rNix) funktionierte immer noch alles

==> das seltsame ist nur, das in der Registry Nix wieder angelegt wurde - weiß jemand woran das liegt??

Gruß

himitsu 7. Mär 2014 00:44

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von Sidi61 (Beitrag 1251011)
Uses Windows, Messages ... konnte plötzlich nicht mehr aufgelöst werden und wurde mit roter welliger Unterstreichung dargestellt. Dies änderte sich auch nicht als ich mein Projekt wieder geladen hatte, welches zuvor funktionierte.

Inzwischen haben alle Units einen Namespace.
z.B. die Windows.pas nennt sich jetzt Winapi.Windows.pas

Tja, un bei deiner alten Projektdatei (*.dproj) waren natürlich noch keine Default-Namespaces definiert.
Projektoptionen > Delphi-Compiler > Unit-Gültigkeitsbereichsnamen

Denn nur wenn dort "Winapi" eingetragen ist, kann der Compiler darin/darüber das "Windows" finden.



Aber bei der Forms.pas wird der Grund erst verständlicher, denn hier gibt es die Vcl.Forms.pas und die Fmx.Forms.pas,
womit man dann über die Projektoptionen steuern kann, ob dort nun die VCL oder das FMX (FireMonkey) verwendet werden soll,
ohne die beiden Dateien überall einzeln via Compiler-Schalter umzuswitchen.

Sidi61 8. Mär 2014 10:02

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Zitat:

Zitat von himitsu (Beitrag 1251023)
Inzwischen haben alle Units einen Namespace.
z.B. die Windows.pas nennt sich jetzt Winapi.Windows.pas

Tja, un bei deiner alten Projektdatei (*.dproj) waren natürlich noch keine Default-Namespaces definiert.
Projektoptionen > Delphi-Compiler > Unit-Gültigkeitsbereichsnamen

ich verstehe nur nicht, warum sich das Laden einer Projektdatei auch auf andere Projekte auswirkt, d.h. ein kleines Projekt aus Delphi 2007 für erste Gehversuche unter Delphi XE5 hatte ja funktioniert, ich hatte es beendet und ein Beilpielprojekt zur Anwendung der Indy Komponenten geladen. Hier konnten die Units nicht aufgelöst werden, dies war anschließend bei dem Projekt das funktionierte ebenfalls so - das verstehe ich nicht.

Schaue ich in die Unit-Gültigkeitsbereichsnamen, so ist "von Debug erben" aktiviert - ist das problematisch und muß ich die Einträge in die obere Tabelle eintragen? Wenn ja - wie mache ich das:oops:

Helmi 8. Mär 2014 15:55

AW: Code-Vervollständigung funktioniert nicht mehr einwandfrei
 
Hallo,

ich hab ein ähnliches Problem. Und zwar hab ich eigene Units mit Klassen drin.
Dort wo diese Klassen verwendet werden, werden die Klassennamen rot markiert dargestellt.

Hab es mit den Projektoptionen probiert (Unitnamen eingetragen), aber geholfen hat es nichts.
Wie mach ich es denn bei eigenen Units?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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