We are using this component in Time mode, without a checkbox, to set the start of a blackout time. In this situation, if the component shows a non-zero time, the user cannot set it to a start time of midnight without an exception being raised, 'you must be in ShowCheckbox mode to set this date'. This is a nonsense message to the end-user, who knows nothing of checkboxes and is not setting a date. Setting a midnight time is a common requirement and we do not want a checkbox.
I could not reproduce a problem.
Thanks for the quick reply. I have done more research since my post, because I realised we also use the same component identically in another program, and the problem does not occur there. All the component properties are identical between the two programs.
I have also found that the exception is deliberately raised on a zero time value at line 28851 of Vcl.Comctrls.pas, reached via the 'inherited' on line 2145 if AdvDateTimePicker.pas. I will look further into why this does not happen in the other program. For the moment, I have changed our logic to use the built-in checkbox, which avoids the issue.
... and the difference is that the exception is actually raised on a zero DateTime value, and in the program which does not raise the exception the date comes through as today's date; the exception is raised only when the date is zero as well as the time.