Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   BDS 2006 - Klassenvervollständigung setzt aus und .... (https://www.delphipraxis.net/91681-bds-2006-klassenvervollstaendigung-setzt-aus-und.html)

bernau 8. Mai 2007 16:48


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

SirThornberry 8. Mai 2007 16:58

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.

CCRDude 8. Mai 2007 17:14

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

bernau 8. Mai 2007 22:51

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

kretabiker 28. Jun 2007 12:22

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

Phoenix 28. Jun 2007 12:27

Re: BDS 2006 - Klassenvervollständigung setzt aus und ....
 
Zitat:

Zitat von kretabiker
Nun ja, schauen wir mal, wann das wieder funktioniert.

Wenn alle ihr Delphi-Hilfe-Update haben :mrgreen:


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