Ein Versuch:
Der übergebene Startwert ist 0, Du greifst hier
Delphi-Quellcode:
o:=ord(upcase(str[i]))-ord('A')+1;
alist[o]:=alist[o]+1;
auf das 0-te Zeichen im String zu, erhältst #0 und damit einen negativen Wert für die Variable o. Der Zugriff auf die Liste
aList führt dann zum Absturz.
Gruß Hawkeye