Huhu zusammen.
Bisher habe ich mir ja alles - nicht zuletzt durch das gute Forum - zurechtbasteln können. Aber jetzt steigt meine Grütze da oben aus...
Ich habe folgendes Problem:
Ich lese ein Verzeichnis aus und packe alle Dateien (in meinem Fall exe) in ein Array.
Spoiler anzeigen
$path= (@ScriptDir & "\c_scripts\")
$extension= "*.exe"
$arFiles= _FileListToArray($path, $extension)
So... Bisher kein Ding. Lässt sich auch alles wunderbar anzeigen. Nur jetzt kommts. Ich möchte mir den Inhalt als Checkbox auf einer Gui erstellen. (Vielleicht gibt es ja bessere Lösungen, aber bisher klappt meins noch ganz gut)
Nur habe ich hier das Problem, dass bei 8 (acht) Einträgen die Schleife abbricht. Bei einer Datei mehr oder weniger is alles wieder in Ordnung. Nur bei 8 Dateien kommt dieser Fehler zustande.
Spoiler anzeigen
_ArrayDelete($arFiles, 0)
Dim $arCheckBox[UBound($arFiles)]
[/autoit] [autoit][/autoit] [autoit]While IsArray($arFiles)
$now = UBound($arFiles) - 1
_ArrayInsert($arCheckBox, $i, GUICtrlCreateCheckbox($arFiles[0], $left, $top + 20))
_ArrayDelete($arFiles, 0)
_ArrayDisplay($arFiles)
$top = $top + 20
$i = $i + 1
_deleteBlanks($arCheckBox)
WEnd
Fehlermeldung:
Zitat>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\xxx\Desktop\aio_install\aio.au3"
C:\Program Files (x86)\AutoIt3\Include\Array.au3 (564) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$avArray[$iElement] = $vValue
^ ERROR
>Exit code: 1 Time: 2.619
Ich kann damit leider nix anfangen. Habe zwar schon geguckt, aber keinen Hinweis gefunden, dass es mit 8 Dateien nicht klappt. Ich habe schon probiert, ob es an irgendwelchen 2er Potenzen liegt, aber selbst bei 1.024 Dateien kommt kein Fehler...
Das Komische daran ist, er gibt ja nach jeder erstellter CheckBox das Array aus. Sobald er das das dritte Element erstellt hat (kann ich noch auf der Gui sehen), bricht er ab. :wacko:
Falls noch Angaben fehlen, sagt ruhig Bescheid, dann reiche ich die noch nach.
Hat da irgendwer ne Lösung für?
Danke schon mal vorab für Eure Mühen
Gruß
CaptainKacke