PS: Wo wird woerterbuch eigentlich wieder freigegeben?
(ich sehe da ein nettes Speicherleck und von Resourcenschutzblöcken ala Try-Finally dagegen nichts)
aber beim dem end; ganz am ende der procedure krieg ich jetzt ein '.' erwartet aber ';' gefunden
Stichwort Codeformatierung (vorallem die Einrückung).
Zähle mal deine BEGIN und die jeweils zugehörigen END durch.
Wobei eine gute Codeformatierung das Durchzählen eigentlich überflüssig machen würde, da man solche Fehler oftmals sofort erkennen würde.