Seltsames Problem mit Variablen

  • Hi
    Ich bin gerade daran die Config für ein Script zu erweitern, hänge nun jedoch an einem seltsamen Fehler fest. Es geht um zwei Variablen, welche aus einer Ini Datei ausgelesen werden:

    [autoit]

    $cfgMaxIdleTime = StringReplace(FileReadLine($lConfigHandle, 6), "Max idle time for clients (ms): ", "")
    $cfgKeepConnectionAliveFrequency = StringReplace(FileReadLine($lConfigHandle, 19), "Frequency for keeping connections alive (ms): ", "")

    [/autoit][autoit]

    $cfgMaxIdleTime

    [/autoit]

    ist auf 10000 eingestellt.

    [autoit]

    $cfgKeepConnectionAliveFrequency

    [/autoit]

    ist auf 500 eingestellt.

    Wenn ich nun aber folgendes überprüfe, so geschieht etwas unerwartetes:

    [autoit]

    If $cfgKeepConnectionAliveFrequency > $cfgMaxIdleTime Then
    MsgBox(0, "test", $cfgMaxIdleTime)
    MsgBox(0, "test", $cfgKeepConnectionAliveFrequency)
    EndIf

    [/autoit]

    Die beiden MsgBox erscheinen, die erste mit dem Wert 10000, die zweite mit dem Wert 500. Wieso kommt es dazu, dass dieser Code ausgeführt wird, obwohl die erste Variable kleiner ist? 8|
    Verändert werden die Variablen nirgendwo, der Teil des Codes wird auch ziemlich früh ausgeführt.

    Setze ich die Variablen vor dem If-Block manuell auf 10000 und 500, so klappt es.
    Habe auch Scite neu gestartet, falls es ein temporärer Bug gewesen sein sollte, hat aber nichts gebracht.

    Vielleicht bin ich auch nur zu müde, um einen offensichtlichen Fehler zu finden, aber ich wäre für eure Hilfe sehr dankbar.

    Einmal editiert, zuletzt von Jari (9. Januar 2011 um 08:54)

  • evtl werden die variablen als text und nicht als zahlen betrachtet. versuch es mal so:

    [autoit]


    If int($cfgKeepConnectionAliveFrequency) > int($cfgMaxIdleTime) Then
    MsgBox(0, "test", $cfgMaxIdleTime)
    MsgBox(0, "test", $cfgKeepConnectionAliveFrequency)
    EndIf

    [/autoit]
  • Danke für die schnelle Antwort. Hat auch gleich geklappt ;)
    Die Variablen wurden tatsächlich zu Strings :P