Alaska Software Inc. - setAppEvent()
Username: Password:
AuthorTopic: setAppEvent()
Jorge BorlandosetAppEvent()
on Thu, 10 Jan 2008 20:16:18 -0300
Hola a todos
estoy emezando a programar con objetos y quiero usar la funcin SetKey() 
como lo haca en clipper


lo que entiendo que tengo que hacer es lo siguiente pero obvio, no funciona 
, tambin segui los ejemplos de la ayuda y no llegue a nada, tampoco las 
funciones Setkey() no funcionan

Procedure Main
< declaraciones del programa....>
  SetAppEvent( xbeK_F4, { | mp1, mp2, oxb | ConsF4( mp1, mp2, oxb ) } )
   nEvent := xbe_None
   WHILE nEvent != xbeP_Quit
       nEvent := AppEvent( @mp1, @mp2, @oDlg )
      if ( nevent = xbeK_F4 )
         ConsF4()
      endif
      oDlg:handleEvent( nEvent, mp1, mp2 )
   ENDDO
   Return

me podran indicar como debo hacer para que mi setkey() funcione

Saludos
Osvaldo Ramirez Re: setAppEvent()
on Thu, 10 Jan 2008 16:27:24 -0700
Estimado Jorge Borlando

Solo dime si te funciona el siguiente ejemplo:

   aFunction := {   { xbeK_F1 , { | | msgbox("F1" )} },;
                    { xbeK_F2 , { | | msgbox("F2" }} } }

   WHILE ...

       nEvent := AppEvent( @mp1, @mp2, @oXbp ,120 )
       IF nEvent <> xbe_None
         oXbp:handleEvent( nEvent, mp1, mp2 )
         IF nEvent == xbeP_Keyboard
           IF valtype( aFunction ) == "A"
             FOR i = 1 TO len(aFunction)
              IF mp1 == aFunction[i][1]
                eval( aFunction[i][2] )
              ENDIF
             NEXT
           ENDIF
         ENDIF
       ENDIF

   END

Saludos
Jorge BorlandoRe: setAppEvent()
on Thu, 10 Jan 2008 21:35:46 -0300
muchas gracias, es lo que necesitaba....


"Osvaldo Ramirez" <ramirezosvaldo@prodigy.net.mx> escribi en el mensaje 
news:45f26192$1d02056a$523e@news.alaska-software.com...
> Estimado Jorge Borlando
>
> Solo dime si te funciona el siguiente ejemplo:
>
>   aFunction := {   { xbeK_F1 , { | | msgbox("F1" )} },;
>                    { xbeK_F2 , { | | msgbox("F2" }} } }
>
>   WHILE ...
>
>       nEvent := AppEvent( @mp1, @mp2, @oXbp ,120 )
>       IF nEvent <> xbe_None
>         oXbp:handleEvent( nEvent, mp1, mp2 )
>         IF nEvent == xbeP_Keyboard
>           IF valtype( aFunction ) == "A"
>             FOR i = 1 TO len(aFunction)
>              IF mp1 == aFunction[i][1]
>                eval( aFunction[i][2] )
>              ENDIF
>             NEXT
>           ENDIF
>         ENDIF
>       ENDIF
>
>   END
>
> Saludos
Osvaldo Ramirez Re: setAppEvent()
on Fri, 11 Jan 2008 18:13:23 -0700
> muchas gracias, es lo que necesitaba....

Bueno, como veras hay personas que se enojan como G. Henzler, asi que 
tratemos de no poner 2 msg iguales ...

Pero, bueno, ya que te funciono, es importante que tengas en mente que:

1.- Si pones en el bucle principal un if, este estara siendo revisado
cada momento que tu muevas el raton, o sea q por cada evento que tu hilo
produsca estara constantemente revisando el "if", y esto nos quita 
proceso o nos dara carga en el bucle de eventos.

2.- Ahora recuerda que esto solamente te funciona por cada hilo

3.- Cada hilo puede tener varios dialogos

Espero que te sirva y saludos