Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi XE Problem : Bezeichner ist nicht definiert (https://www.delphipraxis.net/161560-delphi-xe-problem-bezeichner-ist-nicht-definiert.html)

KFAF 8. Jul 2011 21:06

Delphi XE Problem : Bezeichner ist nicht definiert
 
Hallo Leute,

ich benutze seit neuem Delphi XE, und habe einige Probleme damit.
Das nervigste von denen will ich jetzt mal zur Sprache bringen, vielleicht gibt es ja eine dauerhafte Lösung.

Oft, wenn ich bereits bestehende Units oder Projekte öffne, zeigt mir XE im Inspektor den Fehler "Bezeichner <xxx> ist nicht definiert!" an, obwohl dieser eingebunden ist (in einer Unit meine ich in der Uses-Klausel) und obwohl sich der Quelltext ohne Probleme kompilieren lässt UND ich sogar mit STRG+LMT zur Stelle der Deklaration in der externen Unit springen kann. Wenn ich dann Delphi ein paar mal neustarte, ist es wieder weg. Warum auch immer.

Es hat nicht viel Sinn, ein konkretes Beispiel zu bringen, da dies mit allen möglichen Units an allen möglichen Pfaden so ist. Wenn ich eine neue anlege, habe ich übrigends nie dieses Problem.

In der Theorie würde das ja nicht stören, aber in Folge dessen meldet der Inspektor auch mit roten Wellenlinien, das das Objekt <xxx> keinen Bezeichner namens <yyy> enthält, was nun sehr verstörend ist, da modulares Arbeiten in mehreren Units eben zu meiner Programmiertechnik gehört.

Wenn jemand eine Idee oder das selbe Problem hat, ich bin sicher jeder hätte gern eine Lösung, dann soll er das bitte hier zur Sprache bringen, den die Google Suche hat nichts gebracht. Und auch im EDN bin ich nicht fündig geworden. Falls es doch etwas geben sollte, korrigiert mich bitte, ich bin ja neu hier.

Mit freundlichen Grüßen
KFAF SP

PS : Jetzt ging es die nächsten 3 Starts mal wieder!

DeddyH 8. Jul 2011 21:08

AW: Delphi XE Problem : Bezeichner ist nicht definiert
 
Da hilft wohl nur Ignorieren oder ErrorInsight (Error inside wäre wohl treffender gewesen) abzuschalten.

blackfin 8. Jul 2011 21:13

AW: Delphi XE Problem : Bezeichner ist nicht definiert
 
Dieser Bug ist uralt :-)
Ich hab den sogar schon in Delphi 2006..wahrscheinlich reicht er noch weiter zurück.
(komischerweise ist er in meinem D2009 nur ganz selten anzutreffen...haben die den in XE wieder eingeführt? :stupid:)

Lösung:
Error Insight ausschalten, wie bereits von DeddyH vorgeschlagen, und alles ist gut.
Ausser, du stehst auf massig rote Kringel :-D

jaenicke 8. Jul 2011 21:22

AW: Delphi XE Problem : Bezeichner ist nicht definiert
 
Wenn das auftritt, schließe ich das Projekt einfach einmal und öffne es wieder, dann funktioniert es in aller Regel wieder. Da hilft es, wenn man die Speicherung der offenen Units des Projektes aktiviert hat.

Probleme treten zum Beispiel gehäuft bei fehlerhafter Zeichencodierung auf. Leider ist z.B. in der VirtualTrees-Unit im Original ein solches Zeichen im Kommentar am Anfang der Unit drin. Deshalb tritt das Problem dort ständig auf, wenn man das nicht korrigiert.

Zudem passiert es manchmal, wenn man eine Unit öffnet, die nicht zum Projekt gehört, aber eingebunden ist, oder wenn man eine Unit neu zum Projekt hinzufügt. Das lässt sich oft schon durch das Schließen und erneutes Öffnen der einzelnen Unit beheben.

Es wurde schon einiges korrigiert, so dass es bei mir eher selten auftritt, aber immer funktioniert es eben noch nicht.

// EDIT:
Zitat:

Zitat von blackfin (Beitrag 1110879)
Dieser Bug ist uralt :-)
Ich hab den sogar schon in Delphi 2006..wahrscheinlich reicht er noch weiter zurück.

Ja, bis Delphi 2005, da wurde das Feature nämlich erst eingeführt. ;-)

Zitat:

Zitat von blackfin (Beitrag 1110879)
Error Insight ausschalten, wie bereits von DeddyH vorgeschlagen, und alles ist gut.
Ausser, du stehst auf massig rote Kringel :-D

Es hilft mir trotzdem bei der Arbeit, denn in aller Regel sehe ich sofort welche Markierungen fehlerhaft sind und welche berechtigt sind. Denn alles wird ja normalerweise auch nicht markiert. ;-)

Ach ja:
Auch ifdefs können zu vermehrten Problemen mit ErrorInsight führen, ebenso wie with in manchen Situationen.

KFAF 9. Jul 2011 12:04

AW: Delphi XE Problem : Bezeichner ist nicht definiert
 
Ahhh, also erstmal ein großes "Dankeschön" für die Antworten.

Jetzt aber habe ich durch probieren eine alternative Lösung gefunden : ich benutze die mittlerweile komplett veraltete DGL Kapselung Andorra2D, eben zum Spaß. Dort gingen einige Units nicht mehr, weil sie entweder mit Delphi 2010 oder XE nicht klarkamen (AnsiStrings...) ODER weil bestimmte Bezeichner nicht mehr existierten. Also habe ich alle Units etwas umgeschrieben, jetzt funktioniert es einwandfrei. Das Beste aber ist : bei diesen Units tritt der Fehler NICHT auf.

Vielleicht hilft das Bearbeiten derselben, oder ich habe nur zufällig das Problem behoben (also in der Unit).

Vielen Dank,
KFAF SP

PS : Ich denke, den Thread können wir vielleicht wieder schließen?

jaenicke 9. Jul 2011 14:15

AW: Delphi XE Problem : Bezeichner ist nicht definiert
 
Zitat:

Zitat von KFAF (Beitrag 1110908)
Vielleicht hilft das Bearbeiten derselben, oder ich habe nur zufällig das Problem behoben (also in der Unit).

Dann kann in deinem Fall auch die Zeichenkodierung das Problem gewesen sein. Durch eine Neuspeicherung kann das natürlich korrigiert worden sein.

himitsu 9. Jul 2011 17:34

AW: Delphi XE Problem : Bezeichner ist nicht definiert
 
Joar, vorallem wenn man Generics, Record-Methoden und Operatoren verwendet oder die Wildesten verschachtelten Methodenaufrufe, dann dreht ErrorInsight noch mehr durch.

Oftmals hilft es aber, wenn die Units einmal kompiliert wurden und das ErrorInsight die DCUs nutzen kann.



Tipp: Wenn der Compiler etwas durchläßt, dann ist der Code OK und das, was das ErrorInsight sagt, kann man getrost ignorieren.

Ich hoffe ja, daß Emba beim neuen Compiler den Codeparser abtrennt und öffentlich macht, so daß ErrorInsight und Compiler dann den selben Parser nutzen können, so daß dort endlich mal vergleichbare Erbebnisse rauskommen.

USchuster 9. Jul 2011 17:56

AW: Delphi XE Problem : Bezeichner ist nicht definiert
 
Zitat:

Zitat von himitsu (Beitrag 1110929)
Ich hoffe ja, daß Emba beim neuen Compiler den Codeparser abtrennt und öffentlich macht, so daß ErrorInsight und Compiler dann den selben Parser nutzen können, so daß dort endlich mal vergleichbare Erbebnisse rauskommen.

Das ist sehr unwahrscheinlich für XE2, denn per Allen wird das existierende Frontend des Compilers für Win64 verwendet um maximale Codekompatibilität zu gewährleisten.

USchuster 9. Jul 2011 18:14

AW: Delphi XE Problem : Bezeichner ist nicht definiert
 
Zitat:

Zitat von jaenicke (Beitrag 1110880)
Probleme treten zum Beispiel gehäuft bei fehlerhafter Zeichencodierung auf. Leider ist z.B. in der VirtualTrees-Unit im Original ein solches Zeichen im Kommentar am Anfang der Unit drin. Deshalb tritt das Problem dort ständig auf, wenn man das nicht korrigiert.

VirtualTrees (trunk und 4.8er branch) zeigen mit XE keine falsch positiven Error Insight Fehler. Der Fehler den Du wahrscheinlich meinst ist QC 75565 und dieser wurde in XE behoben.

himitsu 9. Jul 2011 19:29

AW: Delphi XE Problem : Bezeichner ist nicht definiert
 
Nur daß Delphi schon seit mindesten D2009 Probleme mit Kodierungen hat und das auch noch in XE.

Beispiel: Suche mal nach Umlauten in Dateien (Strg+F) ... wenn diese Dateien nicht grade in der IDe geöffnet sind, dann verschwinden die Umlaute aus den zu durchsuchenden Dateien und man findet nix, bzw. wenn man eine gefundene Zeile angezeigt bekommt und darin ein Umlaut vorkommt, dann fehlt der auch in der Anzeige.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 Uhr.
Seite 1 von 2  1 2      

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