Page 1 of 1

Problema con Escape en folder

Posted: Thu Apr 20, 2006 2:18 pm
by ralph
Tengo un problema que aparece solo al compilar con FWH (2.7) y xHb (0995). En mi aplicacion con Clipper 5.3b funciona normal:

Tengo un Dialogo con un folder de 2 pestañas, en la primera pestaña tengo un browse, en la que defino que al presionar la tecla escape, se cierre el dialogo. Todo normal en Clipper, pero con xHb no se cierra el dialogo. Les paso una porcion del codigo para ver si alguien me puede explicar que puede estar pasando?

Code: Select all

    DEFINE DIALOG oDlg RESOURCE "Regvent" FONT oFont ;
           TITLE "Registro de Ventas" OF oWndMain:oWndclient

    REDEFINE FOLDER oFld ID 5000 OF oDlg     ;
      PROMPT ("Relacion de Comprobantes","Detalle del Comprobante") ;
      DIALOGS "regvent0","regvent1"
  
    ......

    REDEFINE BROWSE oBrwVenta GRID ;
           ID 301 OF oFld:aDialogs[1] ALIAS "REGV"

    ADD COLUMN TO oBrwVenta ;
        DATA REGV->CODVEN ;
        HEAD '#Operac' SIZE 65
     ........


    oBrwVenta:bKeyDown  := { | nKey | CaptKey1(nKey, oBrwVenta) }

  ....

       ACTIVATE DIALOG oDlg 

return nil

Static Function CaptKey1(nKey, oBrw)
local nRegistro, InsArchivo, wCuenta

DO CASE
   CASE nKey == VK_INSERT
        zIsNuevo := .T.
        oFld:SetOption(2)
   CASE nKey==VK_RETURN
        zIsNuevo := .F.
        oFld:SetOption(2)
   CASE nKey==VK_ESCAPE
        tone(500,1)  // esto si se ejecuta
        oBrw:oWnd:End()  //  <-------------esto no se ejecuta 
ENDCASE
Return NIL


Agradezco su ayuda

Ralph

Re: Problema con Escape en folder

Posted: Thu Apr 20, 2006 3:10 pm
by fleal
Ralph,

prueba a pasar el oDlg a la función:

oBrwVenta:bKeyDown := { | nKey | CaptKey1(nKey, oBrwVenta, oDlg) }



CASE nKey==VK_ESCAPE
tone(500,1) // esto si se ejecuta
//oBrw:oWnd:End()
oDlg:End()

Posted: Thu Apr 20, 2006 3:13 pm
by ralph
Probando encontre que si sustituyo
oBrw:oWnd:End()

con esta linea:
oBrw:oWnd:oWnd:oWnd:End()

ya se cierra el dialogo. Pero creo que mejor paso el oDlg como parametro. Gracias por tu respuesta.

Ralph