You maybe on to something. I did change the code as you suggested in your "try something .."
But your sample code that is supposed to duplicate the problem, so far, has not done it. I will keep trying.
Thank you!
>This:
>
>OLDVAL( cControlSource )
>
>will not work IF you are not in the proper area
>
>CLEAR
>CREATE CURSOR bbb (Fld1 C(10))
>CREATE CURSOR aaa (Fld1 C(10))
>APPEND BLANK
>REPLACE Fld1 WITH "aaaa"
>CURSORSETPROP("Buffering", 5,"Aaa")
>REPLACE Fld1 WITH "bbbb"
>SELECT bbb
>? Aaa.Fld1, OLDVAL("Aaa.Fld1")
>
>
>Try something like this
>
>IF !EMPTY( this.control_source )
> cAlias = GETWORDNUM(this.control_source,1,".")
> cFld = GETWORDNUM(this.control_source,2,".")
>
> * 1. Check to see if cAlias is blank
> IF EMPTY(cAlias)
> = MESSAGEBOX("cAlias is empty", 0, "test")
> ELSE
> * 2. A different approach to checking if workarea is open
> IF NOT USED( cAlias )
> = MESSAGEBOX("Alias "+cAlias+" not open!", 0, "test")
> ELSE
> cControlSource = ALLTRIM( this.control_source )
> IF EVALUATE( cControlSource ) == OLDVAL(cFld, cAlias)
> RETURN .T.
> ENDIF
> ENDIF
> ENDIF
>ENDIF
>
>
>
>>Yesterday I made the change to the code, as was suggested by John Ryan. I also set TRY / CATCH around the entire code. This will allow me to catch an error, if it happens and save it into a hidden log. I installed this code at 6 customers PCs. I will be looking at the hidden log from time to time to see if the problem occurs.
>>Thank you.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham