This is the code of LostFocus method in multiget class
- Code: Select all Expand view
//----------------------------------------------------------------------------//
METHOD LostFocus( hCtlFocus ) CLASS TMultiGet
Super:LostFocus( hCtlFocus )
if ::bSetGet != nil
Eval( ::bSetGet, GetWindowText( ::hWnd ) )
endif
::nPos = nLoWord( ::SendMsg( EM_GETSEL ) )
return nil
//----------------------------------------------------------------------------//
Super:LostFocus(...) evaluate bLostFocus codeblock. By this time the buffer is still not assigned to the variable. This is the same code even in 10.07. I do not know why there is any change in the behavior between 10.07 ( or 10.09 ) and now.
In any case try moving the line Super:LostFocus(..) next to the If ::bSetGet .... endif block.
This should give the desired behavior for you. Let us see if this solution works well and has no other undesirable side-effects.
Alternatively, keep the following line as the first line of your bLostFocus code block
- Code: Select all Expand view
Eval( oGet:bSetGet, GetWindowText( oGet:hWnd ) )