[Lazarus] TWinControl.WMSize loop on WinCE

Mattias Gaertner nc-gaertnma at netcologne.de
Mon Feb 9 21:07:44 CET 2015


On Mon, 09 Feb 2015 21:55:59 +0200
patspiper <patspiper at gmail.com> wrote:

> I have finally found the trigger, though not the cause, of the dreaded 
> 'TWinControl.WMSize loop detected' exception that prevents the use of 
> TCalendarDialog, TDateEdit, and TDateTimePicker with WinCE 
> (http://bugs.freepascal.org/view.php?id=21282). These 3 controls consist 
> of a TCalendar (with either Autosize=True or Align<>alNone) embedded on 
> a form. It is this particular autosizing/aligning which triggers the 
> exception as setting Autosize to False and Align to AlNone works well.
> 
> TCalendar's width is 220 while the screen's width is 240 (my WinCE 
> device). I tried to reproduce the error on a Linux desktop by enlarging 
> TCalendar to be almost as wide as the screen with no success.
> 
> Any hints/ideas on what might be going on here?

Maybe on WinCE the calendar is limited to some Width, but the WinCE
interface does not report the correct constraints.

Calendar1.Constraints.Min/MaxInterfaceWidth

In this case the LCL sets a Width and the WinCE sets another creating a
loop.

Mattias




More information about the Lazarus mailing list