>You are a smart guy. I'm not sure why you are not getting this. I'm in a FORM. Not a proc. When the code path takes you though different objects, etc, the Debugger will display (Expression could not be evaluated) at times. At those times, it will break. It will also break when it comes back in scope and the value shows again in the Watch window. I don't know how else to explain this to you.
>
>Anyone else want to help out here?
>
Probable that you are into one of infinite VFP bugs.
try a workaround:
IIF(VARTYPE(m.lcMyVar)=='U',.F.,m.lcMyVar='breaktext')
>>>>>When Tracing through a form, it is very annoying that when you put a breakpoint on a variable - like lcMyVar = 'MyVarValue' - and the variable goes out of scope (Expression could not be evaluated) that it breaks. Is there anyway to exclude that condition and only have it break if the value has a value and it is different than what you are looking for?
>>>>
>>>>I can't see this behaviour.
>>>>
>>>>Have you set breakpoint "on change" ?
>>>>Set it "on true"
>>>
>>>As you Resume from the debugger, you do not ever see the (Expression could not be evaluated) in the Watch window? I most certainly do. And if I have a breakpoint on that variable, it will stop the code.
>>
>>
>>
>>* set lcMyVar = 'pippo' to breakpoint exp on true
>>
>>t1()
>>
>>T2()
>>
>>PROCEDURE t1
>> LOCAL lcMyVar
>>
>> lcMyVar = 'fabio'
>>
>> lcMyVar = 'pippo'
>> * break here only !
>> T2()
>>ENDPROC
>>
>>PROCEDURE T2
>>
>>='try'
>>='try'
>>='try'
>>
>>ENDPROC
>>