>>Hi,
>>
>>Could someone suggest why I am having a problem (actually not me but the customer) in the following segment of code:
>>
>>The container with the text box has a property control_source. This property has a value V_WORK.EMPLOYEE
>>
>>The code then checks is the value of the field EMPLOYEE in the cursor V_WORK has been change. Here is the code:
>>
>>
>> cControlSource = ALLTRIM( this.control_source )
>> IF EVALUATE( cControlSource ) == OLDVAL( cControlSource )
>> RETURN .T.
>> ENDIF
>>
>>
>>The problem occurs on the line above, EVALUATE( cControlSource ) == OLDVAL( cControlSource ), and it does
>>ALIAS IS NOT FOUND. I verified that the entry in .control_source exists as described above.
>>
>>TIA.
>>
>>UPDATE. the following code checks that the alias V_WORK exist and is open. This code, below, is before the code above (just in case someone wonders if the alias is indeed exists and open
>>
>>
>>IF !EMPTY( this.control_source )
>> cAlias = SUBSTR( ALLTRIM(this.control_source), 1, AT('.',ALLTRIM(this.control_source)) - 1)
>> IF SELECT( cAlias ) > 0
>> cControlSource = ALLTRIM( this.control_source )
>> IF EVALUATE( cControlSource ) == OLDVAL( cControlSource )
>> RETURN .T.
>> ENDIF
>> ENDIF
>>ENDIF
>>
>
>I added - for testing - a TRY / CATCH around the above code. Then modified the line:
>
>cControlSource = ALLTRIM( this.control_source )
>
>to a bogus:
>
>cControlSource = "test.test_field"
>
>
>And the error caught by the TRY / CATCH, says "Alias 'test' not found".
>But the error that the customer saw (without a TRY /CATCH) did not have the "bad" alias name. It was simply:
>ALIAS IS NOT FOUND
>
>Any suggestions?
Could there be a possibility that the control_source property be assigned a value other than what you're expecting it to be (in particular when the code is run at the customer location where the orignial problem is occurring) ?
could there be a possible problem like "pointer aliasing" going on?
foo.bar.baz.propname = "some value"
= SubProc( foo.bar.baz )
FUNCTION SubProc( yuck )
yuck.propname = "other value"
ENDFUNC