Variablen-Fehler

  • Hey,

    hab mal wieder ein größeres prob, was ich mir nicht erklären kann. ich lese eine section aus einer ini aus (die unbestimmt groß ist) und lasse dann von $i = 1 to var[0][0] (Wert x) alles starten. (wird sowohl bei den URLs als auch bei den eigenen Programmen ausgeführt)

    nun klappt das auch, wenn ich es ganz normal teste, ABER das programm ist eigentlich dafür gedacht, beim pc start automatisch mitzustarten und dann diese programme/urls auszuführen, ... jedoch kommt dann die meldung:

    woran liegt dass? wie gesagt, das passiert nur wenn aus direkt nach dem boot aus dem autostartordner gestartet wird.

    SCRIPT

    Spoiler anzeigen
    [autoit]


    script entfernt

    [/autoit]
  • var hat keinen Wert und darum kommt wieder Fehler. Wenn ich ehrlich bin, hab ich auch noch nicht ganz dein Problem entdeckt, da mir irgendwie Informationen fehlen. Ich mein so 820 Zeilen lassen sich nicht ma eben durchlesen :P Was du ma testen könntest wäre, dass du am Anfang deines Scripts noch nen Sleep einbaust, der das Script etwa 30 Sec nach dem anmelden startet, weil so wird das Script sofort ausgeführt.

  • Ok, also das Problem liegt hier:

    Nachdem man seine Einstellungen in dem GUI gemacht hat, wird das Script nach jedem Boot ausgeführt. Danach kommt der oben erwähnte Error (für Programme ... das gleiche passiert jedoch auch bei den URLs, ich geh aber nur auf die Programme ein)...

    also liegt der Fehler irgendwo hier:

    [autoit]

    ;starte programme

    If $RunOwnTools = "1" Then
    $var = IniReadSection ( $ini, "Run own tools after Start")
    For $i = 1 To $var[0][0]
    Run(@ComSpec & ' /c "' & $var[$i][1] & '"', "", @SW_HIDE)
    Next
    Else
    EndIf

    [/autoit]

    Der Code ist theoretisch richtig, denn, wenn man die Datei manuell ausführt, funktioniert alles (die variable hat einen Wert). Der Fehler kommt nur, wenn das Script beim Boot ausgeführt wird. Aber warum? der Ablauf ist doch gleich?

    Timer einbauen ist schlecht, denn eigentlich soll durch das Automatisieren der Vorgänge der Boot beschleuningt werden ... ein Timer würde da ja das Gegenteil bewirken

  • Wie schaut denn deine .ini aus, wenn man fragen darf?

    [SektionsName]
    Schlüssel=Wert

    • Offizieller Beitrag

    Hallo,

    ich glaube die Ini-Datei wird nicht gefunden!

    Probiers mal so:

    [autoit]

    ;starte programme

    If $RunOwnTools = "1" Then
    $var = IniReadSection (@ScriptDir & "\" & $ini, "Run own tools after Start")
    For $i = 1 To $var[0][0]
    Run(@ComSpec & ' /c "' & $var[$i][1] & '"', "", @SW_HIDE)
    Next
    Else
    EndIf

    [/autoit]
  • danke danke danke danke ... ich zerbrech mir echt den kopf, was da nicht stimmen könnte, und es war wirklich "nur" scriptdir =)
    hab schon gedacht die ganze funktion ist am arsch *hehe*

    so klappt es auch beim boot ... *steinvomherzfall* =)