![]() |
ErrorInsight tut nicht (immer) in 10.4
Ich habe ein ziemlich altes Projekt (noch aus Urzeiten von Delphi), das immer in neuen Versionen von Delphi mitgezogen wurde.
Jetzt habe ich 10.4 Sydney und bei diesem Projekt funktionier das Errorinsight (Schlangenlinien) nicht. Erstelle ich ein neues Proojekt und ziehe einzelne Units aus dem anderem Projekt rein, funktioniert es einwandfrei. Im Logfile vom LSP tauchen die Fehler auch auf, nur werden sie in der IDE nicht angezeigt (letzte Zeile Log, unbekannte Direktive).
Code:
Was ich inzwischen festgestellt habe, dass ErrorInsight funktioniert, wenn ich den Fehler vor dem USES bereich erzeuge. Wenn ich es nach dem Uses erzeuge, dann zeigt die IDE nichts an. Schmeisse ich die Units raus, die ich selber geschrieben habe, funktioniert die IDE korrekt :-(
06:26:05.275 [08700] INFO : Queue.StartProcessNext - Returned False, Message: null
06:26:05.836 [18368] INFO : TJsonRPCPipeClient.DataReceived [Args -LogModes 255 -Name Agent1] [Len 354]: Content-Length: 331 {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///E%3A/projekte/Calcula%2013/Toolsuite.Bbeneficials.pas","diagnostics":[{"range":{"start":{"line":8,"character":8},"end":{"line":8,"character":13}},"severity":1,"code":"E2070","source":"DelphiLSP","message":"E2070 Unbekannte Direktive: 'sdsdf'"}]}} 06:26:05.836 [18368] INFO : Writer.WriteMessage <<{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///E%3A/projekte/Toolsuite.Bbeneficials.pas","diagnostics":[{"range":{"start":{"line":8,"character":8},"end":{"line":8,"character":13}},"severity":1,"code":"E2070","source":"DelphiLSP","message":"[B]E2070 Unbekannte Direktive: 'sdsdf'[/B]"}]}}>> Das Projekt läßt sich aber immer problemlos kompilieren. Irgendeine Idee? Detektive ans Werk. Danke im Voraus. |
AW: ErrorInsight tut nicht (immer) in 10.4
Wäre es möglich ein einfaches Demoprogramm, dass den Fehler zeigt zu erstellen?
Falls ja, könntest du einen QP Report aufmachen und die Damo dranhängen. |
AW: ErrorInsight tut nicht (immer) in 10.4
hast du in deinen (alten) "USES" selbst irgendwie noch "Kreuzabhängigkeiten" drin?
(also "USES" sowohl im "Interface" als auch in "Implementation"...) Solange nur sauber "Interface USES" verwendet werden, funktioniert ErrorInsight ganz gut. |
AW: ErrorInsight tut nicht (immer) in 10.4
Im Zweifelsfall kannst du dafür ein Support Ticket aufmachen. Da kann das dann besser analysiert werden als mit einem einfachen Eintrag im Quality-Portal. Denn dort kannst du ja vermutlich nicht auch Quelltext veröffentlichen usw.
Zitat:
Das neue error insight usw. sollte nun mit Kreuzbeziehungen usw. umgehen können und die entsprechenden Meldungen stehen ja auch im Log. Nebenbei: Schade, dass Embarcadero hier offenbar neue Klassen wie TJsonRPCPipeClient erfunden hat, diese aber nicht in der RTL veröffentlicht hat. |
AW: ErrorInsight tut nicht (immer) in 10.4
Ich hatte irgendwo aufgeschnappt (weiss nicht mehr wo), dass DelphiLSP nur dann richtig funktioniert wenn man die IDE ins normale Programm-Verzeichnis installiert.
Das habe ich nicht, bei mir liegt die IDE auf Laufwerk D:\Prg\, aber DelphiLSP scheint trotzdem korrekt zu funktionieren. Wenn ich dann in machen Testprogrammen mal rote Kringel sehe (wenn der Code trotzdem kompiliert), liegt es dann definitiv immer an Kreuzreferenzen, oder kann man sonst noch was falsch machen ? P.S. Danke auch an Uwe Raabe für den "Geheim"-Tipp mit dem DelphiLSP.log. ![]() |
AW: ErrorInsight tut nicht (immer) in 10.4
Zitat:
|
AW: ErrorInsight tut nicht (immer) in 10.4
Zitat:
Eventuell ist auch die DPROJ-Datei ursächlich, denn beim Projektupgrade kann etwas anderes entstehen als bei einem neuen Projekt. Das sind nur Hypothesen, aber falls eine zutrifft würde das auch ähnlich merkwürdige Effekte bei meinen Projekten erklären. :wink: |
AW: ErrorInsight tut nicht (immer) in 10.4
Ich hatte vor wenigen Tagen exakt ein solches Verhalten, wohl nachdem ich eine Methode von irgendeiner Webseite in den Quellcode kopiert hatte.
Am Ende des kopierten Quellcodes hatte sich ein Nullbyte in den Text kopiert. Öffne mal deine .pas-Datei in einem Hex-Editor und such da mal nach $00... Ähnliche Probleme hatte ich zuvor schon mit Zeilenumbrüchen, die nicht aus CR LF (#13#10) bestanden, sondern z.B. nur aus #13 oder nur aus #10. |
AW: ErrorInsight tut nicht (immer) in 10.4
Zitat:
|
AW: ErrorInsight tut nicht (immer) in 10.4
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 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