Ankündigung

Einklappen
Keine Ankündigung bisher.

if anweisung wertet Bool nicht mehr aus ohne operator

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

  • [Info] if anweisung wertet Bool nicht mehr aus ohne operator

    Hallo Leute,
    dieser Code hat bis vor der Installation des Patches 25 von PDMS 12.1.SP2 tadellos funktioniert.
    Code:
        
    ...
    ...
        !value   = !IRGENDWAS.attribute(!string)
        !objectType = !value.objectType()
    ...
    ...
    
    
    elseif( !objectType eq 'BOOLEAN' ) then      !onOff = 'OFF'
          
          if( !value ) then
            !onOff = 'ON'
          endif
    Nun aber ist er mit bei
    Code:
    if( !value ) then
    ...
    ausgestiegen. Bis ich:
    Code:
    if( !value eq true ) then
    ...
    ergänzt habe. Also falls sich wer wundern sollte, oder wunder möchte.

    Grüße,
    A

  • #2
    Ich habe noch 23 drauf, und will nachdem Bericht nicht "upgraden"...
    Ich frag mal bei den Kollegen nach.
    LG Herbert
    Geht net, gibt's net!
    [Entfessler Start]
    Ois wos I do verzapf, is mei eigana Bledsinn und spieglt net die Meinung der Bude wo I hakl (g'haklt hob oder hakl'n werd) wida.
    [Entfessler Ende]

    Kommentar


    • #3
      Hi,

      mein Kollege hat gerade folgendes in der CMDLINE getestet:
      Code:
      !value = TRUE
      if !value then
        $P BOOLEAN GEHT!
      else
        $P BOOLEAN GEHT NICHT!
      endif
      if ( !value ) then
        $P BOOLEAN GEHT!
      else
        $P BOOLEAN GEHT NICHT IN KLAMMER!
      endif
      if !value eq TRUE then
        $P BOOLEAN GEHT NUR WENN VERGLICHEN!
      endif
      Antwort:
      Bei mir geht das in allen Versionen:
      12.1SP2.25
      E3D
      12.1SP4.8
      LG Herbert
      Geht net, gibt's net!
      [Entfessler Start]
      Ois wos I do verzapf, is mei eigana Bledsinn und spieglt net die Meinung der Bude wo I hakl (g'haklt hob oder hakl'n werd) wida.
      [Entfessler Ende]

      Kommentar


      • #4
        Hallo aequitas,

        deine Antwort hat mich jetzt mal stutzig gemacht. Aber... es gibt einen Zustand von BOOLEAN der damit nicht abgedeckt ist. Nämlich der Initial Zustand.

        Code:
        !value = BOOLEAN()
        if !value then
          $P BOOLEAN GEHT!
        else
          $P BOOLEAN GEHT NICHT!
        endif
        if ( !value ) then
          $P BOOLEAN GEHT!
        else
          $P BOOLEAN GEHT NICHT IN KLAMMER!
        endif
        if !value eq TRUE then
          $P BOOLEAN GEHT NUR WENN VERGLICHEN!
        endif
        versuch mal das. Und dann bekommst du meine Fehlermeldung.
        Anscheinend kommt in meinem Marco (durch Verwendung des Befehlst !value.delete() in einer Schleife) vor, dass die Variable zwar existiert aber noch keinen Wert hat.

        Das Ganze hat aber früher funktioniert. Jetzt tut's das nicht mehr. Vielleicht kannst du das auch mal gegenprüfen.

        Grüße,
        A

        Kommentar


        • #5
          Jawohl Fehler
          (46,73) PML: Variable value not set

          Das geht aber:
          Code:
          !value = BOOLEAN()
          if !value.unset() then
            $P BOOLEAN  INIT PRÜFEN GEHT!
          else
            $P BOOLEAN GEHT NICHT!
          endif
          BOOLEAN hat somit 3 Zustände WAHR/FALSCH/UNSET ...
          Ich nicht mehr binär sondern: -1, 0, 1 *gg*

          LG Herbert
          Geht net, gibt's net!
          [Entfessler Start]
          Ois wos I do verzapf, is mei eigana Bledsinn und spieglt net die Meinung der Bude wo I hakl (g'haklt hob oder hakl'n werd) wida.
          [Entfessler Ende]

          Kommentar

          Lädt...
          X