Uso de macro-sustitucion

Uso de macro-sustitucion

Postby FranciscoA » 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: Select all  Expand view
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
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Uso de macro-sustitucion

Postby cnavarro » 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
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Uso de macro-sustitucion

Postby FranciscoA » Wed Oct 17, 2018 1: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: Select all  Expand view
Function Fec()
Return dFhist      //dFhist es static
 

y lo ejecuto asi:

Code: Select all  Expand view
"{|| 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
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Uso de macro-sustitucion

Postby cnavarro » Wed Oct 17, 2018 2:31 am

Prueba esto

Code: Select all  Expand view

#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
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Uso de macro-sustitucion

Postby FranciscoA » Wed Oct 17, 2018 1:36 pm

Cristóbal.
Funciona. Anteriormente lo tenía sin MEMVAR.
Gracias.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 58 guests