Page 1 of 1
ERROR DE COMPATIBILIDAD IIF()
Posted: Thu Feb 19, 2009 8:13 pm
by rbecares
MIgrando de fw a fwh nos encontramos con una incompatibilidad, lo que en fw ejecuta bien:
a := iif( expresion1, .T. ) ( no esta intencionalmente lo que ejecuta si el expresion1 es falso )
en fwh da error.
Existe algun parametro de compilacion para lograr esta compatibilidad?
Gracias.
Re: ERROR DE COMPATIBILIDAD IIF()
Posted: Thu Feb 19, 2009 9:19 pm
by Armando
rbecares:
Prueba agregando la , (coma):
a := iif( expresion1, .T. ,)
Saludos
Re: ERROR DE COMPATIBILIDAD IIF()
Posted: Fri Feb 20, 2009 12:49 pm
by rbecares
Armando gracias por contestar.
Sí, de esa manera compilará bien, el tema es que esto y otras similares están diseminadas por el fuente y estamos migrando de fw a fwh por lo que estabamos buscando si algun parámetro o #define de compilacion saca todos de una vez haciendo que se comporte igual que fw.
Conoces o alguien conoce algún parámetro asi?
Gracias.
Re: ERROR DE COMPATIBILIDAD IIF()
Posted: Fri Feb 20, 2009 1:07 pm
by Antonio Linares
Ricardo,
Tanto Harbour como xHarbour requieren que especifiques la segunda coma.
Re: ERROR DE COMPATIBILIDAD IIF()
Posted: Fri Feb 20, 2009 1:45 pm
by Carlos Mora
Rbecares,
primero, antes que nada, IIF es una función de Clipper, FW o FWH no tienen *nada* que ver.
Respecto a la función IIF() en Clipper, obviamente la has usado mal. Acabo de leer en la documentación y en ningún lado dice que el tercer parámetro es opcional, es decir que Harbour/xHarbour hacen lo que tienen que hacer.
Aprovechando que has usado la forma deprecada IIF, se puede hacer un translate
#xtranslate IIF( <a>, <b> ) => IF( <a>, <b>, )
Re: ERROR DE COMPATIBILIDAD IIF()
Posted: Fri Feb 20, 2009 5:02 pm
by rbecares
Gracias Carlos.
Un abrazo.