![]() |
BDS 2006 - Klassenvervollständigung setzt aus und ....
Hi,
Ich habe in einem Projekt zwei Units, bei denen funktioniert die Klassenvervollständigung nicht mehr. Auch kann ich dort nicht mehr mit Ctrl-Shift-Up/Down zwischen dem Interface und der Implementation hin und her springen. Die Units sind zwar ziemlich groß (20.000-30.000 Zeilen). Aber bei Delphi5 hat's mit diesen Units bisher immer funktioniert. Grade bei grossen Dateien sind diese Funktionen eine grosse Erleichterung. Hat einer von euch so was schon mal festgestellt? Gerd |
Re: BDS 2006 - Klassenvervollständigung setzt aus und ....
das einzige wo ich das bisher festgestellt hab war bei unsauberem Quelltext (soll keine Unterstellung sein). Dann setzt vermutlich irgendwann wenns zu chaotich wird der parser aus und somit geht nichts mehr.
|
Re: BDS 2006 - Klassenvervollständigung setzt aus und ....
Wo Springen definitiv nicht unterstützt wird: wenn die implementation in einer Include-Datei steht.
Hab aber beides schon häufiger bemerkt, hauptsächlich wenn Direktiven im Source vorkommen; die Fehlermeldung dann, die Delphi ans Quality Central liefern will, beschwert sich in der Regel, daß die Implementierung von Funktion TIrgendwas.X fehlt... sehr ironisch, wenn man gerade die Codevervollständig für TIrgendwas.X aufgerufen hat :D |
Re: BDS 2006 - Klassenvervollständigung setzt aus und ....
Es hat mir keine Ruhe gelassen. Und jetzt habe ich's gefunden.
die IDE mag kein "array of record". Mit folgendem Code kann ich's reproduzieren.
Delphi-Quellcode:
unit test3_u3_a;
interface type TMyClass1 = class(TObject) private protected public constructor Create; destructor Destroy; override; published end; TMyArray = array [1..10] of record x: string; y: string; end; TMyClass2 = class(TObject) private protected public fMyArray:TMyArray; constructor Create; destructor Destroy; override; published end; implementation { TMyClass1 } constructor TMyClass1.Create; begin end; destructor TMyClass1.Destroy; begin inherited; end; { TMyClass2 } constructor TMyClass2.Create; begin end; destructor TMyClass2.Destroy; begin inherited; end; end. Mir ist's aufgefallen, weil ab der Definition von TMyArray auch das Codefolding nicht mehr funktioniert. Kann jemand mal dies testen. Würde ich interessieren, ob's nur bei mir so ist. Würde mich auch interessieren, ob der Fehler auch in Delphi2007 vorhanden ist. Gerd |
Re: BDS 2006 - Klassenvervollständigung setzt aus und ....
Hi Bernau,
kann ich bestätigen in meinem TurboDelphi. Sobald im Procedure-/Funktionskopf eine Typ-Deklaration mit einem Record enthalten ist, ist weder CodeFolding noch Klassenvervollständigung möglich - letzteres sogar in der ganzen Unit. Abhelfen konnte ich mir bisher nur, indem ich die fragliche Typdeklaration aus dem Procedure-/Funktionskopf entfernt und unter implementation eingefügt habe. Auch nicht schön. Ob das als Bug bereist in QC gemeldet wurde, kann ich leider gerade nicht feststellen, bei mir endet der Aufruf von Quality Central mit der Meldung "Server is currently unavailable or you are not connected to the internet. You cannot proceed.". Nun ja, schauen wir mal, wann das wieder funktioniert. Greetings Udo |
Re: BDS 2006 - Klassenvervollständigung setzt aus und ....
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 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