Hallo,
Du solltest vor dem Typecasting immer mittels is prüfen, ob der "Sender" wirklich eine Instanz der Klasse ist:
Delphi-Quellcode:
if (Sender is TSpeedButton)
then button_name := (Sender as TSpeedButton).Caption;
Schau mal bei der
Exception zur Laufzeit in den Aufrufstack (über Ansicht, Debug-Fenster, Aufruf-Stack oder <STRG><ALT><S>).
Dort siehst Du dann wo die Format-Anweisung herkommt.
CU mr2