Array variable has incorrect number...

  • Guten Tag. Ich habe folgendes Problem in diesem Code:

    AutoIt
    Func _AtStart ()
       $IniRead = IniReadSection (@ScriptDir & "\" & $Name & "\Settings\Presets.ini", "Presets")
       For $i = 2 To $IniRead[0][0] Step 1
    	  $Split = StringSplit ($IniRead[$i][1], ":")
    	  GUICtrlSetData ($Combo1, $Split[$i-1])
       Next
    EndFunc

    ($Name wird weiter oben im Kode festgelegt)

    Wenn ich das Script starte, kommt jedoch folgende Fehlermeldung:

    Zitat

    Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    GUICtrlSetData ($Combo1, $Split[$i-1])
    GUICtrlSetData ($Combo1, ^ ERROR

    Was mache ich hier falsch?

  • Scheint so, dass $IniRead kein Array ist bzw. die Länge des Arrays $Split ungleich der Länge von $IniRead ist.

    Am besten ein paar reale Testdaten hochladen.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    • Offizieller Beitrag

    Das Array $Split hat nichts mit deinem Array $IniRead zu tun, deshalb haben beide Arrays auch unterschiedliche Anzahl von Elementen.
    $i bezieht sich auf $IniRead und hat so gar nichts mit dem Splitarray zu tun.

  • Wollte den Post grad noch löschen, aber diese Community ist einfach zu schnell :P
    Vielen Dank für die super schnelle Antwort.
    Bin grad beim überfliegen doch noch auf den Fehler aufmerksam geworden.

    So sollte es eigl. aussehen:

    AutoIt
    Func _AtStart ()
       $IniRead = IniReadSection (@ScriptDir & "\" & $Name & "\Settings\Presets.ini", "Presets")
       For $i = 2 To $IniRead[0][0] Step 1
    	  $Split = StringSplit ($IniRead[$i][1], ":")
    	  GUICtrlSetData ($Combo1, $Split[2])
       Next
    EndFunc

    Die Facepalm tut echt weh :D