Problema con MACROS largos

Post Reply
SauroSrl
Posts: 17
Joined: Mon Feb 06, 2006 2:57 pm

Problema con MACROS largos

Post by SauroSrl »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rolando,

Deberías usar una versión de Harbour más reciente. La actual es la 46.2

Han habido _ en Harbour.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply