1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Error: Recursion level has been exeeded

Dieses Thema im Forum "Support & Discussion" wurde erstellt von Ingolf, 17. August 2019.

  1. Ingolf

    Ingolf Member Ehrenmitglied

    Registriert seit:
    2. Juli 2017
    Beiträge:
    66
    Zustimmungen:
    34
    Punkte für Erfolge:
    18
    Geschlecht:
    männlich
    Ort:
    Hamburg
    [​IMG]

    Bekomme diesen Error nach unterschiedlichen Laufzeiten an unterschiedlichen stellen ...
    Ich habe zwar verstanden das scheinbar eine Schleife auser Rand und Band geraten ist aber wie soll ich das feststellen?

    Ich habe nur gesehen das eine Funktion in der Date.au3 nicht richtig funktioniert ...

    Ich arbeite mich sehr vielen Timern kann es daran liegen ? Es werden ca 10 gesetzt und hinterher wieder "gelöscht" oder überschrieben.
    Diese arbeiten zur berechnung des nächstens Durchganges... kann es da zu Problemen mit der Date.au3 kommen ?
     
  2. gigagames

    gigagames Member

    Registriert seit:
    2. Juli 2017
    Beiträge:
    41
    Zustimmungen:
    17
    Punkte für Erfolge:
    8
    Das heißt es gibt eine Funktion, die sich selbst aufruft & das irgentwann einfach zu oft.
    Hier ein bissel mehr über Recursion: http://www.autoitscript.com/wiki/Recursion

    Wenn du mit Timern TimerInit & TimerDiff meinst, dann nein. Die Funktionen Rufen sich nicht selbst auf. Die rufen nur die Wind. funktion "QueryPerformanceCounter" auf & speichert die zurück gegeben zeit.
    (Man könnte sich auch einfach die Aktuelle Uhrzeit speichern und damit rechnen, nur das der QueryPerformanceCounter ein "high resolution (<1us) time stamp" ist)
     
    Ingolf und krusty gefällt das.
  3. Ingolf

    Ingolf Member Ehrenmitglied

    Registriert seit:
    2. Juli 2017
    Beiträge:
    66
    Zustimmungen:
    34
    Punkte für Erfolge:
    18
    Geschlecht:
    männlich
    Ort:
    Hamburg
    Okay ich lass es bei mir erstmal laufen und gucken was für ein fehler er ausspuckt ..
    es kann sein das die Date.au3 recht oft aufgerufen wird aber wir werden sehen wo der fehler ist :)
     
  4. gigagames

    gigagames Member

    Registriert seit:
    2. Juli 2017
    Beiträge:
    41
    Zustimmungen:
    17
    Punkte für Erfolge:
    8
    Das Problem ist nicht, wie oft eine Funktion aufgerufen wird.
    Sondern wie oft sie sich SELBST aufruft.
    Schau dir mein Link an.

    Hier die Funktion aus den Link kopiert
    Code (AutoIt):

    _AddOne(0)
     Func _AddOne($i)
        ConsoleWrite("In: " & $i & @CRLF)
        $i += 1
        _AddOne($i) //PROBLEM KIND
        ConsoleWrite("Out: " & $i & @CRLF)
     EndFunc
     
    AddOne wird aufgerufen & ruft sich nun unendlich oft selbst auf (und irgendwann ist unendlich zu oft, vlt beim 3000x mal?)
    -> Hier crasht es dann, weil der Stack zu voll wird.
    ein einfaches if($i > 100) return würde hier das problem lösen, da irgentwann die Recursion beendet wird.
     
  5. LaVaLuSe

    LaVaLuSe New Member

    Registriert seit:
    13. Juli 2017
    Beiträge:
    3
    Zustimmungen:
    4
    Punkte für Erfolge:
    3
    Wegen Überarbeitung Beitrag entfernt
     
    Zuletzt bearbeitet: 19. August 2019
  6. gigagames

    gigagames Member

    Registriert seit:
    2. Juli 2017
    Beiträge:
    41
    Zustimmungen:
    17
    Punkte für Erfolge:
    8
    @Ingolf das Einfachste wäre, wenn du es selbst nicht findest, Code posten. Wenn du das nicht möchtest, kann ich dir sonst noch anbieten mir den per PN zu schicken. Nur kann ich dir nicht sagen wann ich zeit habe um drüber zu schauen. Bzw ob ich den Fehler finde.
     

Diese Seite empfehlen

Die Seite wird geladen...