Text entry on TPlannerDatePicker

I am using the TPlannerDatePicker with a FormControlEditLink to handle date entry in grids. I chose this control for two reasons: first, that it allows an empty text property, and second, its appearance.


Now the customer is asking for keyboard entry of dates to be more similar to what you see in an app like Quicken, where slashes are in place, as would be with an edit mask. Is there any reasonably clean solution to satisfying all these desires at the same time?

Have you considered using the TPlannerMaskDatePicker instead as inplace editor as you can specify a mask there with the date separators in this component. See EditMask property.

Bruno, thanks. I am not sure how I failed to find that.

Well, I spoke too soon. I put a 
TPlannerMaskDatePicker on my form, set the mask, and when I run, on opening the form, I get an error: Invalid floating point operation. This happens in TPlannerCalendar.SetDateProc on:

  SetDate(FDay,FMonth, FYear);
If I remove the edit mask, rebuild and run, I do not get the error. But if I can't use a mask, then this component is no help. Further, with the mask in place, if I proceed past the errors, after each keystroke it appears to try again to set the date, and thus throws a new error. 

OK, I tried a new project with only the TPlannerMaskDatePicker, and modified only the EditMask. It works fine, with no errors.


Tried again in my own app, and did nothing but put the component on the form and edit the mask. At form creation, it gave the errors I described above. Also, on any keypress in the component. There is no code attached to the component. I am baffled.

This should be a gracefully handled exception in the component that  you'd only see when the IDE is running as by default it shows every exception, also the gracefully handled exceptions. Can you try to run this outside the IDE and/or disable that all exceptions are caught by the IDE.

If I run without debug, then it works fine. However, in the simple app I built to test the control, it runs in debug without these problems. If I cannot get this working in debug in the real app, without the exceptions, then I am left with no alternative than to disable the mask in debug, which I could live with, but certainly would prefer not to.


The real question is why I don't get these errors in the small app, but I do in the large?