If you remember my frustrations at the error that had happened for me in my application using CodeBook framework when I switched from the old to newest version of Ctl32. Here are the final changes I had to do at the minimum for Ctl32 to work for me. Please do the needful in the next version so I do not have to do them all over again.
In statusbar class _Destroy() (This you are aware of and have updated in your unreleased version I believe)
- Code: Select all
*!* Clear objects references - see _AddPanels
*!* BYN 20080903
*!* - For m.lnx = 1 To This.ctlPanelCount
For m.lnx = 1 To Alen(This.ctlPanels)
This.ctlPanels(m.lnx) = .Null.
Endfor
*!* - For m.lnx = 1 To This.ctlPanelCount + This.nStdPanelCount
For m.lnx = 1 To Alen(This._Panels)
This._Panels(m.lnx) = .Null.
ENDFOR
In statusbar class ctlupdatepanels()
- Code: Select all
Local lcMessage, lcPadLeft, lcPadRight
*** BYN 13/09/2008 return if the panels are not defined
IF TYPE("This.PanelMessage") = "U"
RETURN
ENDIF
In vfpx _msghandler()
- Code: Select all
If Isnull(This._Result) Then
*m.lnResult = apiCallWindowProc(This._WindowProc, m.HWnd, m.Msg, m.wParam, m.lParam)
m.lnResult = apiCallWindowProc(apiGetWindowLong(m.HWnd, (-4)), m.HWnd, m.Msg, m.wParam, m.lParam)
Else
Here is seems that This._WindowProc is not of the window handle passed as the parameter m.HWnd
Please do the needful and thanks
Kind regards.
Bhavbhuti
