[Lazarus] Tprogressbar and positional info under Windows

Andrew Brunner atbrunner at aurawin.com
Tue Dec 11 22:57:36 CET 2012


Ok, After looking at MSDN and the widget source code under windows, I 
assert there is presently an un-exposed flaw.

There is data precision truncation via Line 671 of unit 
./lcl/interfaces/win32/win32wscomctrls.pp.  Where NewPosition is Integer 
and under windows Integer is LongInt not Word.

According to Microsoft's Developer Network Page

PBM_SETPOS, PBM_SETRANGE only support signed integers up to 65,535.


So, that means that there is a clear problem here.  And a general case 
solution is easy to form.

The best possible route would be to allow the largest Integer type and 
scale inside the lcl.

Next question would be, can the IDE property streamer handle Int64 values?
If not, what's involved with expanding the property reader.





More information about the Lazarus mailing list