![]() |
Automatisches Einfügen von "End" funktioniert nicht mehr
Hallo Delphianer,
aktuell habe ich in einem Projekt (welches noch relativ klein ist [ca. 1500 LOC geschätzt]) das Problem, dass das zu einem
Delphi-Quellcode:
passende
begin
Delphi-Quellcode:
beim Drücken auf Enter nicht mehr automatisch eingefügt wird. Das Problem hatte ich schon öfters bei anderen Projekten. Das Problem tritt auch nur in einer Unit des Projektes auf. In den anderen funktioniert es.
end;
Oft trat der Fehler dann auf, wenn in einer Methode eine oder mehrere Untermethoden erstellt wurden. Bspw. so etwas in der Art (aktuell konnte ich den Fehler in einem anderen Projekt nicht simulieren). In dem aktuellen Projekt in dem dieser Fehler auftritt sind solche Untermethoden nicht vorhanden:
Delphi-Quellcode:
Wenn hier nun an irgendeiner Stelle ein
procedure Foo;
function Test: string; begin Result := ''; end; var s: string; begin s := Test; end;
Delphi-Quellcode:
eingefügt und dann Enter gedrückt wird, sollte normalerweise das dazugehörige
begin
Delphi-Quellcode:
eingefügt werden. In den IDE Optionen ist auch nichts deaktiviert, trotzdem funktioniert es nicht. Auch ein Neustart der IDE hilft nicht. Ich denke das Problem ist bekannt und ich hoffe mir kann jemand dabei helfen. (Benutzt wird bei dem Projekt in dem es nicht funktioniert Delphi XE3.)
end;
|
AW: Automatisches Einfügen von "End" funktioniert nicht mehr
Zitat:
|
AW: Automatisches Einfügen von "End" funktioniert nicht mehr
Man erlebt so Einiges mit dem automatischen Einfügen. Mal kommt es nicht mehr und mal an jeder Stelle, wo man die Enter-Taste betätigt.
Es ist ein Roulette-Spiel :stupid: |
AW: Automatisches Einfügen von "End" funktioniert nicht mehr
Zitat:
der gezeigte Quellcode mit der Subroutine war wirklich nur als Beispiel gedacht. Ich mag die Dinger selbst nicht und benutze sie deshalb auch nicht. Nur war das ein Beispiel, bei dem ich mir ziemlich sicher bin, dass - sobald eingebaut in den Quelltext - die Vervollständigung nicht mehr funktioniert. Nur habe ich solche Subroutinen nicht in meinem Quellcode verbaut und trotzdem funktioniert sie nicht. :cry: @Sir Rufo: Ja da wirst du wohl recht haben. Schön wäre es trotzdem wenn es irgendwie wieder funktioniert bzw. jemand eine Lösung dafür hat. Als Hinweis: Das IDE FixPack habe ich nicht installiert und wollte es auch nicht installieren (auch wenn es den Fehler beheben würde). Habe damit einmal schlechte Erfahrungen gemacht und nutze es seitdem nicht mehr. |
AW: Automatisches Einfügen von "End" funktioniert nicht mehr
Eventuel hilft CNWizard
![]() Manfred |
AW: Automatisches Einfügen von "End" funktioniert nicht mehr
Zitat:
Edit: Ich habe mal etwas damit rumgespielt. Bei den Pre-Definierten Symbolen kann man bei dem Symbol "begin" den Scope bzw. Bereich hoch stellen. In den benutzerdefinierten Symbolen legt man sich dann ein "begin end;" Template an und stellt dort den Scope/Bereich auf 0. Somit erscheint der Eintrag immer über dem Begin..End der IDE. Man kann den IDE Eintrag natürlich auch ganz entfernen, dass wollte ich jetzt aber nicht machen. Edit2: Ein Nachteil hat das Ganze aber doch. Wenn ich das Template abbreche und nicht einfüge, ich jedoch trotzdem ein End; hinter irgendeiner anderen Zeile weiter unten einfügen will, dann wäre das der Automatismus der IDE. Der Funktioniert aber leider ja nicht. Deshalb ist die Lösung nur bedingt gut. Wenn man einen komplett neuen Begin..End; Block machen möchte, dann ist das Template jedoch ganz gut zu gebrauchen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz