Führe dein Programm doch mal im Debugger aus.
Dann siehst du genau, an welcher stelle es "knallt". Zur Not musst du es halt mehrmals versuchen, wenn der Fehler nur selten auftritt.
Mal angenommen keine deiner Checkboxen ist angewählt...in diesem Fall wird für "summezeichen" 0 berechnet (die Klammern kannst du hier weglassen).
Wenn nun die Passwortlänge auch 0 ist, so rechnest du in der nächste Zeile
0^0.
Hier wird wohl die Fehlermeldung herkommen.
Okay. Mathe ist wohl schon ein Weilchen her. Das wars nicht. Ab der Zeile hatte ich dann aufgehört zu lesen.
Delphi macht aus 0^0 = 1. So wie es auch bei Wikipedia steht. Da hat mich mein
Taschenrechner im Stich gelassen.
Du solltest dir also etwas überlegen, um diesen Fall abzufangen.
Beispiel: Du prüfst am Anfang der Prozedure, ob die Passwortlänge > 0 ist. Ist das nicht der fall -> exit
Gruß
Headbucket