Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Winccflex script hört nicht bei fehler auf

  1. #1
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich habe ein kleies script, welches mir eine csv einliest. Jetzt wollte ich einmal simmulieren, was passiert, wenn in der csv falsche werte drin stehen würden und somit einen fehler ausgeben. dies habe ich wie folgt realisiert.
    Code:
    For i = 0 To spalten
    
     SmartTags("Fehler") = "Fehler in Zeile " & aktuelle_Zeile & ", Parameter " & i+1
                    
      MyArray1(arrayelement) = field(i)
      arrayelement = arrayelement + 1
    
    NEXT
    das Smarttag fehler wird vor jedem schreiben in das Array mit der aktuellen zeile beschrieben. (Das ist einfach ein string, der beim erfolgreichen ablauf des scripts abgelöscht wird. Aber auch wenn ich in bspw. zeile 1 spalte 2 einen fehler erzeuge. stehen immer die werte der letzten zeil letzte spalte drin. Er führt allerdings keine weiteren Aktionen nach der For schleife aus.
    aber warum wird diese komplett durchlaufen?
    Kann mir das jemand sagen?
    Ps. es wurde extra kein on error objekt verwendet
    Zitieren Zitieren Winccflex script hört nicht bei fehler auf  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Hallo Benson,
    wenn du möchtest, dass nur dann etwas passiert, wenn eine bestimmte Bedingung erfüllt ist, dann wäre das ein Fall für :
    Code:
    if Bedingung = true then
    end if
    ... das könnte dann auch in der Schleife stehen ...
    Deine aktuelle Schleife hat die Aufgabe immer komplett durchzulaufen (und auch immer Alles zu tun).

    Gruß
    Larry

  3. #3
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Ja das ist mir schon klar, aber ich dachte das Skript wird abgebrochen, wenn ein fehler auftritt, oder macht es die for schleife noch fertig?
    Zitieren Zitieren Ok  

  4. #4
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Bensen83 Beitrag anzeigen
    Ja das ist mir schon klar, aber ich dachte das Skript wird abgebrochen, wenn ein fehler auftritt, oder macht es die for schleife noch fertig?
    Für die For Schleife ist das doch kein Fehler und deshalb liest sie brav die Anzahl Spalten.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  5. #5
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Aha, ich dachte wenn ich kein on error objekt aktiv habe, hört das skript einfach nach einem fehler auf. ich habe auch in der forschleife schon einen Vergleich auf err = 0 gemacht und nur dann die aktionen durchgeführt, aber trotzdem hat er es bis zur letzten zeile ausgeführt, obwohl schon vorher fehler aufgetreten sind
    Zitieren Zitieren Ok  

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    ... du hast innerhalb deines Scriptes (im Moment jedenfalls nicht) keinen Code stehen, der einen Err im Sinne von VB auslösst. Und selbst wenn dann würde auch der sich nicht so verhalten, wie von dir gewünscht.
    Du solltest schon hergehen und da irgendetwas mit "IF ... THEN ... ELSE ... END IF" programmieren.

    Gruß
    Larry

  7. #7
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Habe jetzt folgenden code aber es ist immer noch das gleiche Phänomen, aber jetzt dürfte er doch nach nem fehler nie mehr zu den befehlen kommen.

    Code:
    On Error Resume Next
            For i = 0 To spalten
                
                    If Err = 0 Then
                        SmartTags("zaehler") = "Fehler in Zeile " & aktuelle_Zeile & ", Parameter " & i+1
                        MyArray1(arrayelement) = field(i)
                        arrayelement = arrayelement + 1
                    Else
                        'On Error GoTo 0
                    End If                            
            NEXT
    Zitieren Zitieren habe folgendes gemacht  

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Der Error, auf den sich die Error-Auswertung von VB-Script bezieht ist ein Syntax-Error der Programmierung (z.B. einen Datei-Zugriff auf eine Datei, die es nicht gibt oder eine Division durch 0 oder oder).

    Das was du als Fehler ansiehst ist für Flex nur eine Bedingung wie irgendeine andere Variable von Flex.

    Gruß
    Larry

  9. #9
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Und wie könnte ich dann an dieser stelle einen Fehler Abfangen?
    geht das irgendwie?
    Zitieren Zitieren Aha  

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... definiere mal den Begriff Fehler - bezogen auf irgendeine deiner Variablen, die du in Flex definiert hast - von mir aus auch die Bit-Meldungen ...

Ähnliche Themen

  1. Wie springe ich in einem Winccflex script?
    Von Bensen83 im Forum HMI
    Antworten: 4
    Letzter Beitrag: 16.03.2011, 20:10
  2. winccflex script dezimaltrennzeichen
    Von Bensen83 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 13.03.2011, 23:17
  3. Antworten: 1
    Letzter Beitrag: 03.03.2009, 19:42
  4. CP5613 antwortet aber hört nicht
    Von Kahn im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.09.2006, 11:11
  5. VB Script und WinCCflex
    Von Lazarus™ im Forum HMI
    Antworten: 0
    Letzter Beitrag: 04.07.2005, 22:19

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •