Ach sch****! Aber der Weg war der richtige!
inc(index); //Zeile 117
klicke ich dann auf eine Zahl und dann auf '=', dann:
zahlen[index-1] := strBuff; /Zeile 131
wenn du mit
SetLength(zahlen, index);
die Größe des Array auf 1 (also zahlen[0..0]) setzt, dann bekommst du in Zeile 131 eine
AV, da du index inzwischen um 1 erhöht hast.
Lösung:
SetLength(zahlen, index+1);
Oder nicht? Aber da liegt der Fehler.