Page 2 of 2
Posted: Thu Jan 17, 2008 3:46 pm
by FiveWiDi
Antonio Linares wrote:Rafa, tu código y el mio hacen lo mismo. La segunda parte de un .AND. no se ejecuta si no se cumple la primera parte.
Antonio,
lo que dices es válido si se usa esta opción del compilador?
"# /Z Esta opción elimina la optimización debida a la evaluación abreviada
# para los operadores lógicos .AND. y .OR. Su objetivo es ayudar a aislar
# un código que depende del comportamiento de versiones anteriores de
# CA-Clipper."
Saludos
Carlos G.
Posted: Thu Jan 17, 2008 8:28 pm
by Antonio Linares
Carlos,
No es válido si usas esa opción.
Mejor no usarla, salvo que necesites depurar las dos partes.
Posted: Thu Jan 17, 2008 9:06 pm
by FiveWiDi
Antonio Linares wrote:Carlos,
No es válido si usas esa opción.
Mejor no usarla, salvo que necesites depurar las dos partes.
Gracias, de hecho no la uso.
Necesitaba que alguien con conocimiento me lo confirmara.
Saludos
Carlos G.
Posted: Fri Jan 18, 2008 2:16 pm
by miragerr
Antonio
Resolvi o MEU problema da seguinte forma:
Code: Select all | Expand
if ::bKeyDown != nil .AND. ::ClassName() == "TGET"
if ValType( uVal := Eval( ::bKeyDown, nKey, nFlags, Self ) ) == "N" .and. ;
uVal == 0
return 0
endif
endif
Como vc pode ver, desta forma tenho outras classes que herdam a TGET e executam 2x a mesma função, pois na classe WINDOWS.PRG
Code: Select all | Expand
if Upper( ::ClassName() ) != "TGET" .and. ::bKeyDown != nil
return Eval( ::bKeyDown, nKey, nFlags )
endif
axo que esta pequena modificação, podera resolver muitos problemas de outros usuarios
Espero ter ajudado
Posted: Wed Jan 23, 2008 9:22 am
by Antonio Linares
gracias!