>>This annoyed me pretty much ever since we got the watch window, and I know it's too late to complain, but maybe someone knows a workaround.
>>
>>In the debugger, if I set a watch on an expression, is there a way that expression going in and out of scope would NOT count as a change?
>
>>
>>For example, I'm looking at contents of a field; the field becomes "can not be evaluated" every time execution goes to default datasession (framework code is instantiated there). Having a breakpoint on that becomes unusable.
>
>add this expression and set a breakpoint to "when true"
>
>IIF(TYPE("aliasname.fieldname")=='U',.F.,!ADDPROPERTY(_SCREEN.catchProperty,aliasname.fieldname)
>
>and set another breakpoint to _SCREEN.catchProperty
Close, but no big cigar... doesn't refresh, at least not until there's a wait state (other than "read events", i.e. refreshes only when stepping through, which is good enough. I suspend the code, browse the table, and _screen.CatchProperty refreshes as recno() changes; if the code in the form changes the recno(), it doesn't, until there's a Set Step, Suspend or Assert - i.e. the debugger gets focus.
Nice idea, though - I also had a hunch that it can be done via an iif(type("...")...), but didn't get this far.