FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Uso de macro-sustitucion
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM

Uso de macro-sustitucion

Posted: Tue Oct 16, 2018 11:16 PM
Eso, amigos.
Estoy tratando de ejecutar codeblocks definidos como caracteres.
Puede alguien decirme que me falta en el siguiente codigo?
Me tira el error que no existe la variable dDate:
Code (fw): Select all Collapse
Function MyCodBlock()
local dDate, cAction 

  dDate := Date()
  cAction := "{|| MsgInfo(CDow(dDate)) }"
  Eval( &cAction )

return nil
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM

Re: Uso de macro-sustitucion

Posted: Wed Oct 17, 2018 12:47 AM

La variable dDate ha de ser PRIVATE

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM

Re: Uso de macro-sustitucion

Posted: Wed Oct 17, 2018 01:14 AM
Cristobal.
Gracias por contestar. Ya lo he intentado como dices, pero "está difícil la caraja".
Voy a revisar que es lo que estaba haciendo mal.

De todos modos, por el momento lo resolví creando una función que devuelve la fecha:

Code (fw): Select all Collapse
Function Fec()
Return dFhist      //dFhist es static

y lo ejecuto asi:

Code (fw): Select all Collapse
 "{|| ImpBlnza(dFec(), .t.) }"    //esto está en una columna del xbrowse.

 cAction := oBrw:aCols[3]:Value, GenAction(cAction)

Function GenAction(cAction)
Eval( &cAction)


Gracias nuevamente.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM

Re: Uso de macro-sustitucion

Posted: Wed Oct 17, 2018 02:31 AM
Prueba esto

Code (fw): Select all Collapse
#include "FiveWin.ch"

MEMVAR dDate

function Main()

    MyCodBlock()

Return nil

Function MyCodBlock()

   local cAction
   
   PRIVATE dDate  := Date()

   //dDate := Date()
   cAction := "{|| MsgInfo(CDow(dDate)) }"
   Eval( &cAction )

return nil
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM

Re: Uso de macro-sustitucion

Posted: Wed Oct 17, 2018 01:36 PM

Cristóbal.
Funciona. Anteriormente lo tenía sin MEMVAR.
Gracias.

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql

Continue the discussion