AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE ErrorInsight tut nicht (immer) in 10.4

ErrorInsight tut nicht (immer) in 10.4

Ein Thema von Alfonso · begonnen am 4. Jun 2020 · letzter Beitrag vom 8. Jun 2020
Antwort Antwort
Seite 1 von 2  1 2   
Alfonso

Registriert seit: 10. Jan 2006
242 Beiträge
 
Delphi 11 Alexandria
 
#1

ErrorInsight tut nicht (immer) in 10.4

  Alt 4. Jun 2020, 18:07
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:
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]"}]}}>>
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

Das Projekt läßt sich aber immer problemlos kompilieren.

Irgendeine Idee? Detektive ans Werk.

Danke im Voraus.
Alfonso
Seit Turbo Pascal 3.0 dabei!
Ewiger Pascal Fan!
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.772 Beiträge
 
Delphi 12 Athens
 
#2

AW: ErrorInsight tut nicht (immer) in 10.4

  Alt 4. Jun 2020, 21:47
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.
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#3

AW: ErrorInsight tut nicht (immer) in 10.4

  Alt 4. Jun 2020, 22:00
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.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.287 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ErrorInsight tut nicht (immer) in 10.4

  Alt 5. Jun 2020, 07:13
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.

Solange nur sauber "Interface USES" verwendet werden, funktioniert ErrorInsight ganz gut.
Andere sind da anderer Meinung was die saubere Positionierung in den beiden uses-Positionen angeht. Manche schreiben auch alles nur lokal verwendete in implementation und nur die Units, die in der Schnittstelle nach außen unter type verwendet werden, unter interface.

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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#5

AW: ErrorInsight tut nicht (immer) in 10.4

  Alt 5. Jun 2020, 08:14
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.
https://www.delphipraxis.net/1466297-post171.html
  Mit Zitat antworten Zitat
Alfonso

Registriert seit: 10. Jan 2006
242 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: ErrorInsight tut nicht (immer) in 10.4

  Alt 5. Jun 2020, 11:26
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.
Ich habe sicher Kreuzabhängigkeiten, die jedoch erlaubt sind. Wie gesagt, dass verrückte ist ja, wenn ich ein Formular in ein anderes, neues Projekt hinzufüge, funktioniert es.
Alfonso
Seit Turbo Pascal 3.0 dabei!
Ewiger Pascal Fan!
  Mit Zitat antworten Zitat
Sisko

Registriert seit: 24. Jul 2008
Ort: Sevelen (Schweiz)
10 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: ErrorInsight tut nicht (immer) in 10.4

  Alt 5. Jun 2020, 14:33
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.
Ich habe sicher Kreuzabhängigkeiten, die jedoch erlaubt sind. Wie gesagt, dass verrückte ist ja, wenn ich ein Formular in ein anderes, neues Projekt hinzufüge, funktioniert es.
Hast du auch schon einmal die dpr-Datei deines alten und neuen Projekts verglichen? Bei Forms wird am Ende der Zeile ein "magischer" Kommentar angehängt. Ich habe aber noch nie herausgefunden wozu der genau dienen soll.
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.
  Mit Zitat antworten Zitat
idontknow

Registriert seit: 21. Apr 2008
Ort: Schleswig-Holstein
60 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: ErrorInsight tut nicht (immer) in 10.4

  Alt 5. Jun 2020, 16:46
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.
Oliver
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.772 Beiträge
 
Delphi 12 Athens
 
#9

AW: ErrorInsight tut nicht (immer) in 10.4

  Alt 5. Jun 2020, 18:06
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.
https://www.delphipraxis.net/1466297-post171.html
Wenn ich das richtig mitbekommen habe liegt das an Leerzeichen im Pfad, funktioniert ironischwerweise bei C:\Program Files (x86) trotzdem
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.772 Beiträge
 
Delphi 12 Athens
 
#10

AW: ErrorInsight tut nicht (immer) in 10.4

  Alt 5. Jun 2020, 18:08
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.
Ich habe sicher Kreuzabhängigkeiten, die jedoch erlaubt sind. Wie gesagt, dass verrückte ist ja, wenn ich ein Formular in ein anderes, neues Projekt hinzufüge, funktioniert es.
Hast du auch schon einmal die dpr-Datei deines alten und neuen Projekts verglichen? Bei Forms wird am Ende der Zeile ein "magischer" Kommentar angehängt. Ich habe aber noch nie herausgefunden wozu der genau dienen soll.
Der bewirkt glaube ich, dass die Form in der Forms Liste der Projektoptionen auftaucht, d.h. dass die IDE diese Unit als Form erkennt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 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