Cad = "INT(10.0002)"
?EVALUATE(Cad)
En muchos casos EVALUATE() y & funcionan de forma similar aunque tengo entendido que EVALUATE() es sensiblemente mas rapido que &.
Una ventaja de EVALUATE() sobre & es que se puede usar para devolver valores:
nResult = EVAL(cad)
por otro lado, & permite acceder a miembros de objetos de forma dinamica:
cMiProp = "Caption"
?_Screen.&cMiProp
y muchos otros usos mas que EVALUATE() no puede igualar. Yo uso AMBOS y TAMBIEN la macrosustitucion con parentesis, como en el caso de:
cCursor = "Q1"
SELECT * FROM mitabla INTO (cCursor)
Saludos
Victor Espina