Delphi Haven – I’ve discovered a very simple bug in the implementation of FMX menu loops on Windows. This bug leads to what is in effect an Application.ProcessMessages loop in VCL terms, causing a CPU spike for the duration an FMX menu is shown. To fix, copy both FMX.Platform.Win.pas and FMX.Defines.inc to your project’s directory, open up the former, and work your way to line 1515 in TPlatformWin.StartMenuLoop. Then, replace if not FirstLoop then WaitMessage; with if FirstLoop then FirstLoop := False else WaitMessage; Rebuild, and the spike should ...
Visits by Source
Users who voted for this posting