no comment
Ankündigung
Einklappen
Keine Ankündigung bisher.
- √ - Sinnvolle! Fehlermeldungen
Einklappen
X
-
[EibParser] - √ - Sinnvolle! Fehlermeldungen
ETW mit TS2+, SmartSensor, Winkhaus Fensterkontakte, EibPC, OpenRemote KNXStichworte: -
-
Zitat von OColu Beitrag anzeigenno commentoffizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
-
Nein, das ist keine sehr lange Code Zeile, das sind die ca 760 Code Zeilen nach der fehlenden } ....
hat aber halt gedauert bis ich die dann gefunden habe.
Geschwärzt habe ich die Abschnitte [FTP] [MailConf] [Location] [MacroLibs] [ETS-ESF] die in den letzten paar Zeilen meines ca.900 Zeilen Code stehen.
Und wo ist EC:65?
"EC:65" sagt mit garnichts!
Was soll das sein?
Wenn ich den Fehler durch entfernen einer } nachstelle, dann bekomme ich immer "EC65", egal wo ich die Klammer entfernt habe.
Als Fehlerzeile wird immer die letzte Code Zeile angegeben, was ich nachvollziehen kann, aber extrem unpraktikabel finde. Besser wäre die Zeile mit der Klammer die nicht mehr geschlossen wird an zu geben, und den Salat danach zu kürzen damit man die eigentlich Interessanten angaben überhaupt sieht.
eine fehlend { führt im übrigen zu einer sinnvollen Fehlermeldung:
%
+---+ EibParser - v2.312 (Linux Version) +---+
Keine Haftung für Schäden, die durch die Benutzung des Programms entstehen.
!! Anwendungsfehler !!
Syntaxfehler in Zeile: [294] >
Zu viele "{}"-Klammern geschlossen in > } endif<
EC:64
EibParser wurde mit Fehler beendet.
%
Übersichtlich, alles drin was ich wissen will, fast die richtige Zeile.
Was auch immer "EC:64" ist
Gruß,
OlafETW mit TS2+, SmartSensor, Winkhaus Fensterkontakte, EibPC, OpenRemote KNX
Kommentar
-
Zitat von OColu Beitrag anzeigenNein, das ist keine sehr lange Code Zeile, das sind die ca 760 Code Zeilen nach der fehlenden } ....
Wenn nicht, bitte mal ein kurzes Beispiel, sodass ich mir das mal genauer anschaunen kann.
EDIT: Wobei ich gerade sehe: Du verwendest die alte V2 ?offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
Kommentar
-
Ja, richtig, eine fehlende schliessende geschweifte Klammer führt dazu das der gesamte Code in der Fehlermeldung angezeigt wird und als Fehlerzeile die letzte Zeile des Code benant wird.
Ja, ich benutze noch die v2.311, konnte mich noch nicht zur v3 durchringen.
Was ist den nun "EC:64" oder "EC:65" ???ETW mit TS2+, SmartSensor, Winkhaus Fensterkontakte, EibPC, OpenRemote KNX
Kommentar
-
Zitat von OColu Beitrag anzeigenJa, richtig, eine fehlende schliessende geschweifte Klammer führt dazu das der gesamte Code in der Fehlermeldung angezeigt wird und als Fehlerzeile die letzte Zeile des Code benant wird.
Ja, ich benutze noch die v2.311, konnte mich noch nicht zur v3 durchringen.
Was ist den nun "EC:64" oder "EC:65" ???offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
Kommentar
-
Zitat von enertegus Beitrag anzeigenIst in der V3 dann wohl schon geändert.
Jede Meldung hat auch noch eine ID. Also ist der Meldungstext zur ID kongruent, mehr ist das nicht.
Gibt es eine Liste mit den Meldungsnummern? Die stehen am Ende der Fehlermeldung und sind daher viel leichter zu finden als der Klartext weiter oben...
Gruß, OlafETW mit TS2+, SmartSensor, Winkhaus Fensterkontakte, EibPC, OpenRemote KNX
Kommentar
-
Zeilenangabe der Fehlermeldung
[highlight=epc] (179) :begin BoolString(pWert)
(180) :var result
(181) result@ = $false$
(182) if (convert(pWert,EIN)) then {
(183) result@ = $true$;
(184) } endif
(185) :return result@
(186) :end [/highlight]
Die Zeilennummern in Klammern sind die Zeilennummern in der Makro-Quellcodedatei.
Nun die Fehlermeldung - unbestritten fehlt da der Klammeraffe hinter :var return, aber:
"Makrofehler in Zeile: [82] in "D:/EIB_KNX/MyEibProg/MakrosKlaus/KlausMakrosTeichPumpe.lib"
Lokale Makrovariablen haben am Ende ein "@" Zeichen und werden zeilenweise getrennt definiert.
ID:81
EibParser wurde mit Fehler beendet."
Der Fehler lag in der Zeile 180! I'm not amused...
Kommentar
-
Zitat von klaus_kraemer Beitrag anzeigen[
Der Fehler lag in der Zeile 180! I'm not amused...offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
Kommentar
-
Ich komm' heute nicht mehr dazu, werde aber demnächst das "@" nochmal entfernen und versuchen, den Fehler zu reproduzieren. Ich melde mich dann wieder. Danke schon Mal!
Ich hoffe, einer Eurer nächsten Schritte ist auch, das EibStudio zu überarbeiten. So sollte eine Datei vielleicht mit dem Cursor dort geöffnet werden, wo sie verlassen wurde. Mein Scrollrad ist schon überstrapaziert...
Und ein Makro zu parsen sollte vielleicht auch gehen, ohne jedes Mal zum Kompilieren ins Hauptprogramm wechseln zu müssen. Ich denk' da an eine ordentliche Projektstruktur...
Kommentar
-
Zeilenangabe der Fehlermeldung (reproduziert)
Servus enertegus,
ich konnte den Fehler reproduzieren, siehe Screenshots. (Da der Cursor nicht mit drauf ist - ich habe ihn an die Stelle des fehlenden "@" gestellt: Die untere, unvollständige Funktion BoolString(pWert), 2. Codezeile:
":var result". Sie müsste heißen "var: result@"...)
Und das ist im Code die Zeile 182.
Gut, dass es ein einfach zu findender Fehler war!
Wenn Du die Dateien brauchst, sag' mir bitte wohin ich sie schicken soll.
Danke und Gruß
Klaus
Kommentar
-
Zitat von klaus_kraemer Beitrag anzeigenich konnte den Fehler reproduzieren, siehe Screenshots.
Das zweite bitte an eibpc@enertex.de am besten mit Forumsnamen im Titel.offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
Kommentar
-
Zitat von enertegus Beitrag anzeigenDer linke Screenshot ist, weil hier ein Makro als EibPC-Programm ins EibStudio geladen wurde. Wäre ein Featurewunsch, dass man sowas dann nicht dem Compiler zu führt.
Das zweite bitte an eibpc@enertex.de am besten mit Forumsnamen im Titel.
Eigentlicher Featurewunsch wäre:
- Beim Öffnen jeglicher Datei zunächst nicht kompilieren
- Makros zumindest auf Syntaxfehler hin "Testkompilieren" zu können, ohne in die Hauptdatei wechseln zu müssen (Die Parameterübergabe sollte dabei als fehlerfrei angenommen werden, sauberer wäre eine Parameterdeklaration à la C# oder Java...)
Kommentar
-
Ja wo is er denn???
Angabe der Fehlerposition fehlt wieder mal:
" +---+ EibParser - v3.011 (Windows Win32 Version) +---+
Keine Haftung für Schäden, die durch die Benutzung des Programms entstehen.
Gruppenadressen-Import:
Datei: "D:/EIB_KNX/EibPC/EibstudioData/tmpAddr.txt" wurde geschrieben
Datei: "D:/EIB_KNX/EibPC/EibstudioData/tmpMacroOut.txt" wurde geschrieben
Datei: "D:/EIB_KNX/EibPC/EibstudioData/tmpMacroFuncOut.txt" wurde geschrieben
Laufzeitfehler:
! Benutzten Sie Konvertierungsfunktionen:
Datentyp der Parameter nicht gleich. Kontrollieren Sie auch die Zuweisung der Funktionsrückgabe. 1-tes Argument von : >RollDGBuero_PosAktuell*100f16< !
ID:14
EibParser wurde mit Fehler beendet."
Mann, Fehler suchen macht das EibStudio wirklich nicht leicht - wieder einmal fehlt eine Angabe zur Fundstelle des Fehlers. Ziel sollte wirklich sein, die Fehlerstelle mit Mausklick anzuspringen - aber bis dahin sagt uns doch wenigstens die Quelldatei, Modul, Zeile und Spalte!
Kommentar
-
Zitat von klaus_kraemer Beitrag anzeigen- Beim Öffnen jeglicher Datei zunächst nicht kompilieren
Das ist eine sinnfreie Zeitverschwendung!
- Makros zumindest auf Syntaxfehler hin "Testkompilieren" zu können, ohne in die Hauptdatei wechseln zu müssen (Die Parameterübergabe sollte dabei als fehlerfrei angenommen werden, sauberer wäre eine Parameterdeklaration à la C# oder Java...)
- Ein Kompilat ohne erneutes kompilieren an den eibPC übertragen.
BR
Marc
Kommentar
Kommentar