FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problea con CodeBlock
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Problea con CodeBlock
Posted: Tue Oct 29, 2013 12:31 PM
Hola foreros, tengo un problema curioso.

Si hago:
Code (fw): Select all Collapse
DEFINE DIALOG [b]oDlg[/b] ......
   ...
   bBlock := { || MSGALERT(oDlg:ClassName() }

   EVAL(bBlock)   // FUNCIONA
   ...

Pero si hago:
Code (fw): Select all Collapse
DEFINE DIALOG [b]oDlg[/b] ......
   ...
   cDat  := "{ || MSGALERT(oDlg:ClassName() }"
   bBlock := &( cDat )
   EVAL(bBlock)   // NO FUNCIONA
   ...
El codeblock se evalua, pero me dice que no existe la variable oDlg.
¿Qué estoy haciendo mal?
Gracias de antemano

Un saludo.
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 1283
Joined: Fri Feb 10, 2006 02:34 PM
Re: Problea con CodeBlock
Posted: Tue Oct 29, 2013 01:46 PM
Antolin

Prueba
Code (fw): Select all Collapse
cDat := "{|o| Msgalert( o:ClassName() ) }"

bBloc := &( cDat )

eval( bBloc, oDlg )
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
HIX -> https://github.com/carles9000/hix
Posts: 337
Joined: Fri Oct 07, 2005 02:44 PM
Re: Problea con CodeBlock
Posted: Tue Oct 29, 2013 03:33 PM

Antolin,

Disculpa, lo que escribi estaba totalmente fuera de contexto, tu problema es por el scope de las variables, no puedes usar una variable local para componer un bloque de codigo mediante macros.

Atte.,

Lautaro

Hola,

Soy un Contador que por necesidad aprendio a programar y se quedo programando.
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Problea con CodeBlock
Posted: Tue Oct 29, 2013 03:56 PM

:?::?::?:

Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Problea con CodeBlock
Posted: Tue Oct 29, 2013 06:51 PM

:?::?::?:

Posts: 337
Joined: Fri Oct 07, 2005 02:44 PM
Re: Problea con CodeBlock
Posted: Tue Oct 29, 2013 08:28 PM
HmPaquito,

Me senti tocado por tu aclaracion, la que imagino con buena intencion :-) lo que agradezco agradezco y pido disculpas por mi aparente falta de cortesia ( si al releer el como edite el mensaje , en realidad se ve muy descortes ), lo que no fue mi intencion :-)

Ahora en lo tecnico, el scope tiene mucho que ver, ya que es la visibilidad de las variables lo que afecta la macrocompilacion, ya que las variables locales NO SON VISIBLES para las MACROS, como es el caso de las construcciones :

Code (fw): Select all Collapse
...
local xvar1
...
...
 cbloque := "{|| msgalert(xvar1,'contenido variable xvar1'}"

 bbloque := &( cbloque )


Si estoy equivocado, por favor corrijanme :-) :-) :-)

Saludos,

Lautaro
Hola,

Soy un Contador que por necesidad aprendio a programar y se quedo programando.
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Problema con CodeBlock
Posted: Wed Oct 30, 2013 07:37 AM
Gracias por vuestra prompta respuesta.

Algo tengo que estar haciendo mal porque sigue sin funcionarme. Además, para empezar, no puedo inicializar la variable, desde fuera de la función, con PRIVATE, me dice: " Statement not allowed outside of procedure o function ". Y si la inicializo dentro de la función con PRIVATE, no me la ve, como si no existiera " Ambiguous reference 'oDlg' ".
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Problea con CodeBlock
Posted: Wed Oct 30, 2013 08:44 AM

:?::?::?:

Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Problema con CodeBlock
Posted: Wed Oct 30, 2013 08:58 AM

:?::?::?:

Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Problea con CodeBlock
Posted: Wed Oct 30, 2013 09:56 AM

Muchas gracias a todos.

Ya he solucionado mi problema con otra estructuración y ya no necesito ese codeblock. Así que no me voy a calentar la cabeza y la próxima vez que me surja este tema ya me dedicaré más de lleno a ello. La verdad es que llevo muchos años utilizando codeblocks sin ningún tipo de problemas y no creo que éste vuelva a salir hasta dentro de otros muchos años.

De todas maneras muchas gracias por vuestra dedicación.

Un saludo.

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55

Continue the discussion