Бюллетень для голосования - крайне противоречивый объект с точки зрения объектно-ориентированного программирования. С одной стороны он «наследует методы и свойства» независимого переключателя (компонент класса
TCheckBox), с другой стороны - налицо попытка имитировать компонент класса
TRadioGroup, причем попытка неудачная, без обработки исключительных ситуаций. При заполнении двух полей сразу вылетает ексЦепшн, а бюллетень считается недействительным.
Возможно, стоило бы разработать систему голосования на основе чистого и ничем не замутнённого чекбокса, ведь в конце-то концов некоторые человеки могут хотеть проголосовать не за одну партию, а сразу за несколько.
Задумался.