Problema con Escape en folder

Problema con Escape en folder

Postby ralph » Thu Apr 20, 2006 2:18 pm

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  Expand view
    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
User avatar
ralph
 
Posts: 70
Joined: Fri Nov 18, 2005 11:15 pm
Location: Lima - PERU

Re: Problema con Escape en folder

Postby fleal » Thu Apr 20, 2006 3:10 pm

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()
fleal
 
Posts: 234
Joined: Tue Oct 25, 2005 12:39 am
Location: México, DF

Postby ralph » Thu Apr 20, 2006 3:13 pm

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
User avatar
ralph
 
Posts: 70
Joined: Fri Nov 18, 2005 11:15 pm
Location: Lima - PERU


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 136 guests