Dazu muss man sagen, dass AutoIt immer ein paar Byte zusätzlich alloziiert, damit noch Platz für weitere Zeichen ist und nicht beim Anhängen z.B. eines weiteren Zeichens gleich neuer Speicher alloziiert werden muss.
EDIT:
Lass mal das laufen: Ich weiß jetzt nicht, ob das ein Bug oder ein Feature ist, aber der Variableninhalt wird nicht mehr gelöscht bei der Redeklaration.
[autoit]For $i = 1 To 200
[/autoit]
Local $var
$var &= "x"
ConsoleWrite(StringLen($var)
Next
Das ist ein Feature und wird im Manual erwähnt bei "Language Reference">"Variables">"Scope". Es gibt nur den zwei scopes: Global und in Funktionen, während bei anderen Programmiersprachen oft jeder Block einen eigenen scope hat.
Ich finde das ungünstig, denn es ist eine zusätzliche Fehlerquelle, da man in Funktionen globale Variablen deklarieren kann, und man außerhalb der Funktion nicht sicher sein kann, ob die Variable überhaupt existiert.
Außnahme von der Regelung sind die Laufvariablen von for-loops.