Ankündigung

Einklappen
Keine Ankündigung bisher.

Unerklärbares bei der Abarbeitung von Programmcode

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

    Unerklärbares bei der Abarbeitung von Programmcode

    Folgender Code:

    Code:
    if change(RadDGbuero_isHeizbedarf) or change(RadDGsued_isHeizbedarf) or change(RadSauna_isHeizbedarf) then {
        Name_isHeizbedarf = RadDGbuero_isHeizbedarf or RadDGsued_isHeizbedarf or RadSauna_isHeizbedarf;
        strHeizbedarf@ = $Heizbedarf: $;
    //    if Name_isHeizbedarf then {
        if RadDGbuero_isHeizbedarf or RadDGsued_isHeizbedarf or RadSauna_isHeizbedarf then {
            strHeizbedarf@ = strHeizbedarf@ +$JA <small>$ + convert(setdate(),$$) + $ $ + convert(settime(),$$) + $[$;
            if RadDGbuero_isHeizbedarf then {
                strHeizbedarf@ = strHeizbedarf@ + $ Büro $;
            } endif;
            if RadDGsued_isHeizbedarf then {
                strHeizbedarf@ = strHeizbedarf@ + $ DG Süd $;
            } endif;
            if RadSauna_isHeizbedarf then {
                strHeizbedarf@ = strHeizbedarf@ + $ Sauna $;
            } endif;
            strHeizbedarf@ = strHeizbedarf@ + $]</small>$;
        } else {
            strHeizbedarf@ = $NEIN <small>$ + convert(setdate(),$$) + $ $ + convert(settime(),$$) + $</small>$;
        } endif;
    } endif;
    Wenn sich der Heizbedarf in einem von drei Räumen ändert, sollen
    • Die zusammenfassende Variable "Name_isHeizbedarf " gesetzt werden
    • ein Ausgabestring "strHeizbedarf@" für ein Weboutput vorbereitet werden
    Ihre seht die auskommentierte Zeile "// if Name_isHeizbedarf then {", die ich nun durch "if RadDGbuero_isHeizbedarf or RadDGsued_isHeizbedarf or RadSauna_isHeizbedarf then {" ersetzt habe. Denn vorher lief diese Abfrage immer in den falschen Zweig, obwohl zwei Zeilen vorher "Name_isHeizbedarf" schon neu mit exakt denselben Variablen, die nun im if - then nochmals ausgewertet werden, zugewiesen wurde. Das macht mich stutzig, sehr stutzig...

    Und bevor jemand auf den Gedanken kommt, "Name_Heizbedarf" würde sich in bestimmten Konstellationen nicht ändern (stimmt, klar)! - dieser Aspekt darf hier nichts Falsches ergeben, denn entweder ist der Wert wahr, dann müssen die einzelnen Zimmerbedarfe ausgewertet werden, oder falsch. Leider reagierte die Auswertung wie oben gesagt, genau verkehrtherum...
    Selbstverständlich habe ich bei der Fehlersuche auch gezielt nur einen Raum geswitcht, um eine Änderung von Name_Heizbedarf zu erzwingen.
    Zuletzt geändert von klaus_kraemer; 18.04.2017, 06:57.

    #2
    Solange eine der drei Heizbedarf Variablen auf EIN bleibt, kann sich der Rest ändern wie er will, das hat keinen Einfluss auf Name_isHeizbedarf, damit keine Änderung, damit keine Auswertung der if Schleife.
    ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

    Kommentar


      #3
      Nein, Uwe, definitiv war es das nicht, denn das fiel mir auf, als ich gezielt jeweils ausschließlich nur in einen Raum die Heizung anstellte.
      In diesem Fall hatte sich NAME_Heizbedarf immer auch geändert.

      Innerhalb eines umfassenden Eventblocks, der natürlich von events oder Änderungen lebt müssen Entscheidungen ja immer auch aufgrund ungeänderter Variablen möglich sein, um alle Abhängigkeiten prüfen zu können und sind es doch auch...
      Zuletzt geändert von klaus_kraemer; 17.04.2017, 14:37. Grund: Ich hasse Tippfehler...

      Kommentar


        #4
        Zitat von klaus_kraemer Beitrag anzeigen
        Nein, Uwe, definitiv war es das nicht, denn das fiel mir auf, als ich gezielt jeweils ausschließlich nur in einen Raum die Heizung anstellte.
        In diesem Fall hatte sich NAME_Heizbedarf immer auch geändert....
        Solange du es immer genau NUR in einem Raum änderst geht es ja auch.
        ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

        Kommentar


          #5
          Zitat von Uwe! Beitrag anzeigen
          Solange du es immer genau NUR in einem Raum änderst geht es ja auch.
          Nein! Deshalb habe ich ja den Thread eröffnet.

          Sorry Uwe, Du zerstörst hier etwas den Sinn des Threads, da die fehlerhafte Abarbeitung genau im beschriebenen Fall, zig mal reproduzierbar, nach Neucompilierung und Upload passierte. Ich ergänz' aber den Eingangspost, damit nicht andere ebenfalls in Deine Denkrichtung kommen.

          Kommentar


            #6
            Dann bin ich jetzt still, auch wenn ich nicht verstehe, was Du mir sagen willst.
            ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

            Kommentar

            Lädt...
            X