Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Sinnvolle! Fehlermeldungen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [EibParser] - √ - Sinnvolle! Fehlermeldungen

    no comment
    Angehängte Dateien
    ETW mit TS2+, SmartSensor, Winkhaus Fensterkontakte, EibPC, OpenRemote KNX

    #2
    Zitat von OColu Beitrag anzeigen
    no comment
    Nun, das der Compiler die offenbar sehr,sehr lange Codezeile wiederholt ist m.e. Nicht so tragisch. Was aber steht bei EC 65 und warum hast du geschwärzt?
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      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ß,

      Olaf
      ETW mit TS2+, SmartSensor, Winkhaus Fensterkontakte, EibPC, OpenRemote KNX

      Kommentar


        #4
        Zitat von OColu Beitrag anzeigen
        Nein, das ist keine sehr lange Code Zeile, das sind die ca 760 Code Zeilen nach der fehlenden } ....
        ich weiss nicht, ob ich das richtig verstanden habe. Eine Fehlende Klammer am Ende führt zu dieser Meldung?
        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


          #5
          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


            #6
            Zitat von OColu Beitrag anzeigen
            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.
            Ist in der V3 dann wohl schon geändert.
            Ja, ich benutze noch die v2.311, konnte mich noch nicht zur v3 durchringen.
            Was ist den nun "EC:64" oder "EC:65" ???
            Jede Meldung hat auch noch eine ID. Also ist der Meldungstext zur ID kongruent, mehr ist das nicht.
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Zitat von enertegus Beitrag anzeigen
              Ist 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.
              Ok, werde mich nach der L&B mit der V3 beschäftigen.

              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ß, Olaf
              ETW mit TS2+, SmartSensor, Winkhaus Fensterkontakte, EibPC, OpenRemote KNX

              Kommentar


                #8
                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


                  #9
                  Zitat von klaus_kraemer Beitrag anzeigen
                  [
                  Der Fehler lag in der Zeile 180! I'm not amused...
                  Da wäre für mich wichtig, das gesamte Programm zu sehen, damit ich feststellen kann, warum die Fehlermeldung so kam und ggf. das zu fixen oder erklären zu können.
                  offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                  Enertex Produkte kaufen

                  Kommentar


                    #10
                    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


                      #11
                      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
                      Angehängte Dateien

                      Kommentar


                        #12
                        Zitat von klaus_kraemer Beitrag anzeigen
                        ich konnte den Fehler reproduzieren, siehe Screenshots.
                        Der 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.
                        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                        Enertex Produkte kaufen

                        Kommentar


                          #13
                          Zitat von enertegus Beitrag anzeigen
                          Der 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.
                          Hab' die Dateien gerade gesendet. Beim Linken Screenshot geht's ja auch nur um die tatsächliche Zeile des Fehlers.

                          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


                            #14
                            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


                              #15
                              Zitat von klaus_kraemer Beitrag anzeigen
                              • Beim Öffnen jeglicher Datei zunächst nicht kompilieren
                              Ja, bitte, bitte, das soll endlich weg!!

                              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...)
                              Würde ich ergänzen um:
                              • Ein Kompilat ohne erneutes kompilieren an den eibPC übertragen.
                              BR
                              Marc

                              Kommentar

                              Lädt...
                              X