This exception occurs when user restores a full sized dialog.
exception class : EListError
exception message : List index out of bounds (4).
call stack:
00427a15 NlArchiver.exe Classes TList.Get
004bce13 NlArchiver.exe Forms TScreen.GetForm
005efee5 NlArchiver.exe sSkinManager TsSkinManager.MainWindowHook
004be959 NlArchiver.exe Forms TApplication.WndProc
00432cf8 NlArchiver.exe Classes StdWndProc
7e3696c2 USER32.dll DispatchMessageA
004bf6e4 NlArchiver.exe Forms TApplication.ProcessMessage
004bf71e NlArchiver.exe Forms TApplication.HandleMessage
We have purchased the source, so I looked for the solution.
In function TsSkinManager.MainWindowHook you have a for loop at the end of the procedure:
CODE
CM_ACTIVATE : begin // Solving problem in Report builder dialogs and similar windows
for i := 0 to Screen.FormCount – 1 do SendAMessage(Screen.Forms.Handle, AC_INVALIDATE);
end;
Try to change it to:
CODE
CM_ACTIVATE : begin // Solving problem in Report builder dialogs and similar windows
for i := Screen.FormCount – 1 downto 0 do SendAMessage(Screen.Forms.Handle, AC_INVALIDATE);
end;