Hola Amigos:
Estoy pasando de Clipper53/FW24/Blinker7 a Harbour 42/FWH24/BCC5.
En Clipper/FW uso la antigua libreria FiveScrip v2.1, y todo funciona bien.
Ahora compile FiveScript con harbour(realizando algunas modificaciones minimas), y todo compilo y enlazo OK y FiveScript funciona.
El problema es cuando tengo una macro muy compleja (FiveScript hace uso extenso de las macros).
En FiveScript con Clipper/FW esto funciona Ok
oTipo:bLostFocus :={|| oTipo:Assign(),oTDescripcion:Set( oEdit:Tipo ),oTDescripcion:Refresh() }
.. incluso expresiones mas complejas, limitadas solo por el largo de la cadena que no puede pasar de 255.
lo que hace FiveScript es:
oTipo:bLostFocus :=&"{|| oTipo:Assign(),...,oTDescripcion:Refresh() }"
Ahora en Harbour (el problema no es de FWH), con la misma instruccion el programa muere directamente sin ningun mensage, ni siquiea genera un GPF.
Lo mas que acepta es:
oTipo:bLostFocus :={|| oTipo:Assign(), oTDescripcion:Set( oEdit:Tipo ) } //,oTDescripcion:Refresh() }
es decir en macro
oTipo:bLostFocus :=&"{|| oTipo:Assign(),oTDescripcion:Set( oEdit:Tipo ) }"
En resumen:
En FW/Clipper la macro genera un Codeblock con tres instrucciones dentro, separadas por ",".
En Harbour solo permite generar Codeblock con DOS instrucciones dentro, separadas por ",".
La pregunta es: Hay algun parametro que indique a Harbour para que permita generar programas que ejecuten macros mas complejas?
De atemano gracias por la respuestas.
Rolando Salazar
Cochabamba-Bolivia