FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour atajo no me anda.
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
atajo no me anda.
Posted: Sun May 18, 2014 01:32 PM
Hola.
Que hago mal?
Code (fw): Select all Collapse
      MenuItem ::aMenues[8] PROMPT "Sumar medidas" + Chr(9) + "(F7)";
                  action ::sumarMedidas();
                  ACCELERATOR 0, VK_F7


y probe tambien:

Code (fw): Select all Collapse
      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/
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: atajo no me anda.
Posted: Mon May 19, 2014 01:20 PM

Mira, \samples

TESTMENU.PRG
TESTMNU2.PRG

salu2

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Re: atajo no me anda.
Posted: Mon May 19, 2014 01: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 (fw): Select all Collapse
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"
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: atajo no me anda.
Posted: Mon May 19, 2014 04: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/

Continue the discussion