Yes, but what are you executing with lcCommand? If lcCommand calls a procedure/function and sends i as a parameter by reference, then i might get changed:
PROC T1
LOCAL i
i=1
DO c:\temp\t2 WITH i
MESSAGEBOX(VARTYPE(i))
PROC T2
LPARAMETERS tnI
tnI="Salut"
>>Stephane,
>>Put a breakpoint on VARTYPE(i)="N" and check lcCommand right after it has been changed to "C".
>>
>
>VARTYPE(i) = "N" is true before &lcCommand and false after.
>lcCommand has not changed before or after it is executed as a macro.
>
>Stephane.
Daniel