Zitat:
Lesen von Adresse 00000000
Das sagt das irgendwo versucht wird von Adresse 0 zu lesen. Und 0 = nil
Es ist also irgendwo etwas nicht initialisiert. Ich vermute das shellfldritems oder dergleichen nil ist.
Am besten du setzt einfach mal einen Haltepunkt und gehst Schritt für Schritt das ganze durch und schaust welchen Wert die Variablen haben. Und noch besser wäre eine Fehlerprüfung rein zu bauen.
Also einfach prüfen ob irgendein Funktionsaufruf fehl schlägt (erkennt man meisten am Rückgabewert) und dann auch nur weitermachen wenn alles ok ist.
Denn derzeit arbeitet die Funktion alles nacheinander ab selbst wenn irgendwo eine Funktion nicht das notwendige für den weiteren Ablauf zurück gibt.