После того, как вы нажали Enter и форма не закрылась, закрывается ли она в конечном итоге после завершения обработки?То есть он закрывается с «эффектом задержки»?
Возможно, ваша форма не обрабатывает сообщения, а операция, для которой вы показываете прогресс, продолжается.
Одним из решений является периодический вызов Application.ProcessMessages в рамках вашей основной процедуры обработки.Однако не закрывайте форму в событии OnKeyDown.Вместо этого установите флаг, такой как «AbortRequest: = true», и проверьте этот флаг в своей процедуре обработки, и, если он установлен, выйдите оттуда и закройте форму.Это позволит вам выполнить необходимую очистку перед прерыванием.
Кроме того, включен ли spinedit и настроен ли он?Если вы поставили точку останова в событии, она сработала?
Другая возможность: VK_RETURN может использоваться другим элементом управления или компонентом в форме.Например, если у вас уже есть TAction в форме с сочетанием клавиш Enter, spinedit никогда не увидит этот ключ.Или у вас может быть TButton со свойством Default, установленным в True - тот же результат.
В общем, у нас, вероятно, недостаточно информации, чтобы знать наверняка.