atajo no me anda.

atajo no me anda.

Postby goosfancito » Sun May 18, 2014 1:32 pm

Hola.
Que hago mal?
Code: Select all  Expand view  RUN
     MenuItem ::aMenues[8] PROMPT "Sumar medidas" + Chr(9) + "(F7)";
                  action ::sumarMedidas();
                  ACCELERATOR 0, VK_F7


y probe tambien:

Code: Select all  Expand view  RUN
     MenuItem ::aMenues[8] PROMPT "Sumar medidas" + Chr(9) + "(F7)";
                  action ::sumarMedidas();
                  ACCELERATOR ACC_NORMAL, VK_F7


no me funciona ninguno de los dos.
gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: atajo no me anda.

Postby karinha » Mon May 19, 2014 1:20 pm

Mira, \samples

TESTMENU.PRG
TESTMNU2.PRG

salu2
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: atajo no me anda.

Postby Carlos Mora » Mon May 19, 2014 1:49 pm

Goos,
¿Que es lo que no te anda? Es muy genérico decir que algo "no anda". ¿Casca con algún error? ¿No hace nada si entrás por esa opción del menú?

Veo un problema potencial: estás usando Self, lo que es ambíguo dependiendo del contexto. Algunos comandos de FW usan el símbolo 'self' como parámetro de algunos codeblocks, lo que entra en conflicto si el comando se usa dentro de un método de una clase.

Por ejemplo:
Code: Select all  Expand view  RUN

CLASS MyClass
CONSTRUCTOR New()
END CLASS

METHOD New() CLASS MyClass
   LOCAL oDLg, cTemp:= SPACE(10)

   REDEFINE DIALOG oDlg
        REDEFINE GET cTemp ID 101 OF oDlg ON CHANGE MsgInfo( ::ClassName() )
   ACTIVATE DIALOG oDlg
RETURN Self
 


Sería de esperar que el msgInfo imprimiese 'MyClass', pero imprime 'TGet', porque en el comando REDEFINE GET se usa Self como nombre de parámetro en el codeblock de ON CHANGE. Eso sucede en muchas clases.

Si estás definiendo el menu dentro de un método, es dificil ver cual es el problema sin ver el contexto, la clase , el método, y como queda cuando lo ejecutas.

Un saludo
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: atajo no me anda.

Postby goosfancito » Mon May 19, 2014 4:07 pm

Hola!

si voy con el mouse o teclado y presiono sobre la opcion del menú funciona. pero si presiono F7 (que es la que defini como atajo) no ejecuta la opcion, en esa opcion me debería de abrir un díalogo.

El self lo uso como vos me decis en el new() (me lo enseño worman hace unos años) y luego si necesito referenciar hago asi: (tambien por worman)
This:= ...:self.

y luego uso "this"

gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 68 guests