no consigo que me coja variables "detached locals"

no consigo que me coja variables "detached locals"

Postby PP1963 » Fri Nov 06, 2009 6:37 pm

Buenas otra vez.

No consigo que coja las variables detached locals. Este es el codigo, y siempre coge el valor de la ultima variable oCategory1 pulsando cualquiera de los botones generaldos. Lo que quiero es que cuando pulse el boton, se ejecute la funcion categorias(x), donde x es la variable que en teoria debe haber cogido como detached locals.

Gracias por todo.


use category
oCategory1=reccount()
oCategory3=oCategory1-12
oCategory4=oCategory3-12

for oCategory2 = 1 to oCategory1

go oCategory2
oNomCat=category->categoria
oNumeroCt=category->numero

bAction := genblock(oNumeroCt)

if oCategory2 <= 12
@ (0.5-1.5)+(oCategory2*1.5), 46 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION eval(bAction)
elseif oCategory2 > 12 .and. oCategory2 <= 24
@ (0.5-1.5)+((oCategory2-12)*1.5), 61 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION eval(bAction)
elseif oCategory2 > 24
@ (0.5-1.5)+((oCategory2-24)*1.5), 76 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION eval(bAction)
endif

next

close category


ACTIVATE DIALOG oDlg CENTERED


return nil

=================================================================
function GenBlock( oNumeroCt )

return { || categorias(oNumeroCt) }
=================================================================
La perseverancia es la virtud de los que llegan a la meta.
User avatar
PP1963
 
Posts: 22
Joined: Sat Oct 24, 2009 11:55 am
Location: Murcia - España

Re: no consigo que me coja variables "detached locals"

Postby armando.lagunas » Sat Nov 07, 2009 3:33 am

hola:

quiero ayudarte, pero no logro entender bien tu código, por favor si puedes colocar alguna imagen para saber que es lo que observa un usuario?.

saludos desde Chile
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: no consigo que me coja variables "detached locals"

Postby PP1963 » Sat Nov 07, 2009 5:36 am

Lo que hace es generar una serie de botones desde x=1 hasta x veces. Lo que quiero es que cada boton coja la variable x de la forma categorias(x). En todos los botones coje la ultima variable de x . No se si con esto tienes bastante.

No se como insertar imagenes en este post.

Gracias de antemano

Jose Garcia.
La perseverancia es la virtud de los que llegan a la meta.
User avatar
PP1963
 
Posts: 22
Joined: Sat Oct 24, 2009 11:55 am
Location: Murcia - España

Re: no consigo que me coja variables "detached locals"

Postby mmercado » Sat Nov 07, 2009 8:31 am

Hola José:
PP1963 wrote: if oCategory2 <= 12
@ (0.5-1.5)+(oCategory2*1.5), 46 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION eval(bAction)
elseif oCategory2 > 12 .and. oCategory2 <= 24
@ (0.5-1.5)+((oCategory2-12)*1.5), 61 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION eval(bAction)
elseif oCategory2 > 24
@ (0.5-1.5)+((oCategory2-24)*1.5), 76 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION eval(bAction)
endif

Prueba quitando "eval(bAction)" y deja solo "bAction"

Un abrazo.
manuelmercado at prodigy dot net dot mx
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: no consigo que me coja variables "detached locals"

Postby PP1963 » Sat Nov 07, 2009 8:42 am

Gracias Manuel. Ya lo he probado y al pulsar los botones no hace nada, no ejecuta la funcion categorias() con la variable bloqueada

Ya no se que probar. :cry:
La perseverancia es la virtud de los que llegan a la meta.
User avatar
PP1963
 
Posts: 22
Joined: Sat Oct 24, 2009 11:55 am
Location: Murcia - España

Re: no consigo que me coja variables "detached locals"

Postby PP1963 » Sat Nov 07, 2009 8:54 am

Así es como quedan los botones, cuando pulso sobre uno para que ejecuta la funcion categorias(oNumeroCt), no hace nada al quitar Eval(bAction), cuando esta eval(bAction) coge siempre la ultima variable que es 30

Image
La perseverancia es la virtud de los que llegan a la meta.
User avatar
PP1963
 
Posts: 22
Joined: Sat Oct 24, 2009 11:55 am
Location: Murcia - España

Re: no consigo que me coja variables "detached locals"

Postby Patricio Avalos Aguirre » Sat Nov 07, 2009 1:31 pm

Hola

prueba de esta manera

Code: Select all  Expand view
use category
oCategory1=reccount()
oCategory3=oCategory1-12
oCategory4=oCategory3-12

for oCategory2 = 1 to oCategory1

    go oCategory2
    oNomCat=category->categoria
    oNumeroCt=category->numero

    bAction := genblock(oNumeroCt)

    if oCategory2 <= 12
        @ (0.5-1.5)+(oCategory2*1.5), 46 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION eval(&(bAction))
    elseif oCategory2 > 12 .and. oCategory2 <= 24
        @ (0.5-1.5)+((oCategory2-12)*1.5), 61 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION eval(&(bAction))
    elseif oCategory2 > 24
        @ (0.5-1.5)+((oCategory2-24)*1.5), 76 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION eval(&(bAction))
    endif
next

close category

ACTIVATE DIALOG oDlg CENTERED


return

//=================================================================
function GenBlock( oNumeroCt )

return( "{ || categorias(oNumeroCt) }" )
//=================================================================



mira esto es parecido lo que haces a lo mejor te puede servir

Code: Select all  Expand view
    do case

        case cMSg = "CLIENTES"
            nPosMenu := 1
            aMsg := { { "&Proveedores"  , .f., "{ || Proveedores() }", "" } }

        case cMSg = "FACTURAS"
            nPosMenu := 2
            aMsg := { ;
                         { "Facturas según Guías &Despacho",.f., "{ || FactSegunGuias() }"             , "" },;
                         { "&Ingresar OC"                  , .f.,"{ || OrdenCompra(chr(73)) }"             , "" },;
                         { "&Ingresar COT."                       , .f.,"{ || Cotizaciones(chr(73))}"             , "" } }

        case cMSg = "ESTADISTICAS"
            nPosMenu := 6
            aMsg := { ;
                         { "&Margen por Depto"  ,       .f., "{ || Estadisti2( .t. ) }", "BTN_BARRA" }}

        case cMSg = "LIBROVTA"
            nPosMenu := 5
            aMsg :=     {{ "Libro &Compra"                      ,       .f., "{ || LibroCompra()    }"     , "BOOKCLOSE"      },;
                         { "Libro &Venta"                       ,       .f., "{ || LibroVenta()    }"     , "BOOKOPEN"       },;
                         { "Ventas por V&endedor"           ,       .f., "{ || VentasVendedor()}"     , "BTN_VTAVENDEDOR"},;
                         { "Ventas por &Departamento"       ,       .f., "{ || VentaDepto()    }"     , ""               },;
                         { "&Margen de venta por depto."   ,        .f., "{ || VentasMargen()   }"     , "BTN_MARGENVTA"  },;
                         { "&Orden de Compras"                  ,       .f., "{ || RepOCompraDepto()}"   , ""                },;
                         { "&Cotizaciones"                      ,       .f., "{ || RepCotizaciones()}"   , ""                }}

        otherwise
            return( .f. )

    endcase

    MENU oPopup POPUP
        for i := 1 to len( aMsg )
            MakeMenu( aMsg, i )
        next i
    ENDMENU

    if cMsg = "SERV.TECNICO" .and. x:ClassName() == "TTOOLBAR"
        ACTIVATE POPUP oPopup AT aRect[02], aRect[01] OF _oWnd
    endif

return( oPopup )
//-----------------------------------------------------------------------------------------------------------
static function MakeMenu( aMsg, n )
    if empty( aMsg[n] )
        SEPARATOR
    else
        MENUITEM aMsg[n,1] ACTION Eval(&(aMsg[n,3])) WHEN aMsg[n,2] RESOURCE aMsg[n,4]
     endif
return( NIL )
//-----------------------------------------------------------------------------------------------------------
 
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: no consigo que me coja variables "detached locals"

Postby PP1963 » Sat Nov 07, 2009 3:01 pm

No funciona, me dice "Error description: Error BASE/1003 Variable does not exist: ONUMEROCT". No coge la variable oNumeroCt

Alguna idea más por ahí.

Muchas gracias a todos. :cry:
La perseverancia es la virtud de los que llegan a la meta.
User avatar
PP1963
 
Posts: 22
Joined: Sat Oct 24, 2009 11:55 am
Location: Murcia - España

Re: no consigo que me coja variables "detached locals"

Postby César E. Lozada » Sat Nov 07, 2009 3:03 pm

@ (0.5-1.5)+(oCategory2*1.5), 46 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20
aTail(oDlg:aControls):bAction:=&("{|| categorias("+Str(oNumeroCt,,,.T.)+") }")
User avatar
César E. Lozada
 
Posts: 128
Joined: Wed Oct 26, 2005 12:18 pm
Location: Los Teques, Miranda, Venezuela

Re: no consigo que me coja variables "detached locals"

Postby PP1963 » Sat Nov 07, 2009 5:07 pm

Gracias Cesar.

Me da el siguiente error al compilar: Error E0030 Syntax error: "parse error at '@'"
La perseverancia es la virtud de los que llegan a la meta.
User avatar
PP1963
 
Posts: 22
Joined: Sat Oct 24, 2009 11:55 am
Location: Murcia - España

Re: no consigo que me coja variables "detached locals"

Postby mmercado » Sat Nov 07, 2009 5:32 pm

Hola José:

Prueba de la siguiente manera:
Code: Select all  Expand view
  if oCategory2 <= 12
   @ (0.5-1.5)+(oCategory2*1.5), 46 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20
   elseif oCategory2 > 12 .and. oCategory2 <= 24
   @ (0.5-1.5)+((oCategory2-12)*1.5), 61 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20
   elseif oCategory2 > 24
   @ (0.5-1.5)+((oCategory2-24)*1.5), 76 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20
   endif
   
   GenBlock( ATail( oDlg:aControls ), oNumeroCt )
   next

*=================================================================
function GenBlock( oBtn, oNumeroCt )

   oBtn:bAction := {||Categorias( oNumeroCt ) }

return Nil
*=================================================================
 


Un abrazo.
manuelmercado at prodigy dot net dot mx
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: no consigo que me coja variables "detached locals"

Postby PP1963 » Sat Nov 07, 2009 5:46 pm

Muchisimas gracias D. Manuel funciona a la perfeccion.

Siempre un amigo a tu disposición

Jose Garcia :D :D :D :D :D :D :D :D
La perseverancia es la virtud de los que llegan a la meta.
User avatar
PP1963
 
Posts: 22
Joined: Sat Oct 24, 2009 11:55 am
Location: Murcia - España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 85 guests