Kleiner Fehler

  • So, ich arbeite seit heute morgen (oh ja, so lange :rofl: )
    an einem kleinen AutoShutdown Tool.

    Allerdings haben sich im Script ein paar Fehler eingeschlichen
    die ich auf den ersten Blick nicht sehe. =/

    1. Die Einstellungen für das "Abfrage" Feld in der GUI werden zwar
    in der Ini gespeichert aber komischer Weise nicht wieder eingestellt
    wenn man das Programm neu öffnet.

    2. Warum bleibt die Combo Box der Cpu Auslastung
    manchmal auf Disable obwohl sie wieder Enbable'd wird?

    Wäre auch nett wenn jemand das ganze testen könnte, besonders auf Win7,
    Vista, etc. Beim script testen wegen den Fehlern oben bitte auf den Shutdown
    Befehl achten ;)

    Script:
    http://sen.pastebin.com/m5055e1a5

  • Hi,
    ersetze mal die IF ELSEIF Geschichte mit

    [autoit]

    for $i=1 to 5
    If IniRead(@ScriptDir & "/Settings.ini", "Settings - Action", "Action"&$i, "4") = "1" Then GUICtrlSetState(eval("Action"&$i), $GUI_CHECKED)
    If IniRead(@ScriptDir & "/Settings.ini", "Settings - Abfrage", "Abfrage"&$i, "4") = "1" Then GUICtrlSetState(eval("Abfrage"&$i), $GUI_CHECKED)
    next

    [/autoit]

    dann gehts^^...und ist kürzer ;)
    /*edit*/ Nur zur Erklärung, sobald ein Statement in der IF-Abfrage zutrifft, wird der Rest nicht mehr abgearbeitet....d.h. alle anderen elseifs werden nie erreicht

  • Ah, danke dann ist der Fehler schon mal Weg.

    Einziges Problem noch:
    Wenn man den Cpu Weg nimmt und nach dem Start drücken
    wieder auf Stop drück bleibt die Combo Box in der man die Cpu Auslastung auswählt
    auf Disable oO

    Zitat

    Nur zur Erklärung, sobald ein Statement in der IF-Abfrage zutrifft, wird der Rest nicht mehr abgearbeitet....
    d.h. alle anderen elseifs werden nie erreicht


    Weiß ich.. hätte ich selbst drüber stolpern müssen.
    Aber kein Wunder wenn man morgens um 4 anfängt zu coden :rofl:

    Edit:
    Ich finde den 2ten Fehler nicht oO
    Jemand ne Idee?

    2 Mal editiert, zuletzt von Sen (13. November 2009 um 13:43)

  • ...wenn man ohne Definition von Variablen arbeitet^^

    [autoit]

    $Auslastung = Round($c / $CpuAuslastung[0], 0) & "%"
    Return ($Auslastung)

    [/autoit]

    Dadurch daß $auslastung eine GLOBALE Variable ist (weil eine GuictrlID zugewiesen wurde) hast du diese in der Func() überschrieben...

    [autoit]

    Return (Round($c / $CpuAuslastung[0], 0) & "%") ;sackzement, auch noch kürzer ^^

    [/autoit]