Hey zusammen,
ich komme einfach nicht hinter, wie ich mein Problem einfacher löse. Ich habe nun sehr lange nach einem Fehler in meinem Skript gesucht und dann folgendes bemerkt:
#include <Array.au3>
Dim $aTest[1][3]
Dim $aTest2[1][3] = [["A", "B", "C"]]
If UBound($aTest) = UBound($aTest2) Then MsgBox(4096, "Hmmm","Doof!")
Das war mir nicht klar... Ich habe öfter den Fall, dass ich Ergebnisse einer Funktion in einem Array ablegen lasse und das Array dynamisch in einer Schleife mit _ArrayAdd() gefüllt wird. Dafür initialisiere ich es halt wie im Code angezeigt. Dass ArrayAdd() dann aber sozusagen in beiden Varianten den 2. Wert anlegt, hat mich total irritiert...
Jetzt löse ich das so...
und dann fülle ich das Array (mit erstmal unbekannter Größe!) danach mit _ArrayAdd().
Das kommt mir irgendwie doof vor und ich bin mir sicher, dass es eine bessere Lösung geben muss...
Jetzt gibt es ja noch andere Datentypen, aber für 2D-Werte und wenn mir immer einfaches durchschleifen reicht scheinen Arrays ja doch die einfachste Lösung zu sein? Ich kann natürlich die Schleifen auch alle mit 1, statt 0 anfangen, jedoch entstehen Arrays ja auch manchmal anders und dann wird das etwas verwirrend, wenn manche mit 0 anfangen, manche mit 1. Der Code soll ja langfristig verständlich sein...
Vielen Dank