[Lazarus] Errors in win32winapi.inc and elsewhere spotted by compiler

Dmitry Boyarintsev skalogryz.lists at gmail.com
Tue Mar 24 21:36:10 CET 2015


On Tue, Mar 24, 2015 at 2:06 PM, Juha Manninen <juha.manninen62 at gmail.com>
wrote:

>   // ToDo: Fix Result and the loop. "I" is not used for anything.
>   for I := 0 to FrameWidth - 1 do
>     Result := Boolean(DrawEdge(DC, ARect, Edge[Style], BF_RECT or
> BF_ADJUST));
>

false positive.

https://msdn.microsoft.com/en-us/library/windows/desktop/dd162477%28v=vs.85%29.aspx
BF_ADJUST causes ARect to be different on every call. Side-effect function
:)

hmm... of is DrawEdge declaration wrong having ARect be passed as "const"
rather than "var"?

thanks,
Dmitry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20150324/6bfa3d41/attachment-0003.html>


More information about the Lazarus mailing list