>After much soul-searching and coverage logging - I think I've found out what's going on (although I'm willing to be told otherwise).
>
>The unload line RETURN lReturnVal was not at form level, it was in a form class higher-up the class-heirarchy. Therefore when the form.unload contains DODEFAULT() (or no code), the parent class Unload() fires and returns a value only to the next level down the heirarchy. If that next level doesn't do anything with the value, it will be lost before the bottom-level form.unload() fires. (Hope this makes sense!)
>
>The solution is to use RETURN DODEFAULT() in the bottom-level form.unload() method.
>
>Thanks to all those who replied.
Hi Alan,
Your analysis and solution is correct.
DODEFAULT()
DODEFAULT()
RETURN
As you can see return value from the parent class code is lost in this case.
--sb--