From 552a6d23c8893cce050867d309e506ff864f0f6a Mon Sep 17 00:00:00 2001 From: juha Date: Sat, 16 Mar 2019 15:25:09 +0000 Subject: [PATCH] LCL-Win32: Optimize TWindowProcHelper using a record. Issue #35223. git-svn-id: trunk@60698 - --- lcl/interfaces/win32/win32callback.inc | 6 ++++-- lcl/interfaces/win32/win32int.pp | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lcl/interfaces/win32/win32callback.inc b/lcl/interfaces/win32/win32callback.inc index f34df25107..05c6c5fc2c 100644 --- a/lcl/interfaces/win32/win32callback.inc +++ b/lcl/interfaces/win32/win32callback.inc @@ -293,7 +293,9 @@ end; type TAccessCustomEdit = class(TCustomEdit); - TWindowProcHelper = object + { TWindowProcHelper } + + TWindowProcHelper = record private // WindowProc parameters Window: HWnd; // DWord / QWord @@ -2667,7 +2669,7 @@ function var Helper: TWindowProcHelper; begin - helper := default(TWindowProcHelper); + FillChar(Helper, SizeOf(TWindowProcHelper), 0); Helper.Window := Window; Helper.Msg := Msg; Helper.WParam := WParam; diff --git a/lcl/interfaces/win32/win32int.pp b/lcl/interfaces/win32/win32int.pp index 616245853d..645933fe51 100644 --- a/lcl/interfaces/win32/win32int.pp +++ b/lcl/interfaces/win32/win32int.pp @@ -19,6 +19,7 @@ unit Win32Int; {$mode objfpc}{$H+}{$T-}{$message warning Fix implicit pointer conversions} +{$ModeSwitch advancedrecords} {$I win32defines.inc} interface