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