FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Dialog No Modal
Posts: 189
Joined: Wed Apr 05, 2006 09:48 PM
Dialog No Modal
Posted: Wed Nov 07, 2007 07:39 AM

Hola amigos

Se puede saber cuando un dialog NO MODAL se ha cerrado ?

La idea es poder ejecutar una funcion justo en el momento que se cierra ese dialog, el valid no me vale se dispara antes de que se cierre el dialog.

un saludo

Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Dialog No Modal
Posted: Wed Nov 07, 2007 08:21 AM
Yes,

   IF oApp():oDlg != NIL
      IF oApp():nEdit > 0
         RETURN NIL
      ELSE
         oApp():oDlg:End()
         SysRefresh()
      ENDIF
   ENDIF


Saludos,
Best Regards, Saludos



Falconi Silvio
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Dialog No Modal
Posted: Wed Nov 07, 2007 08:29 AM

Gabriel,

IsWindow( oDlg:hWnd ) devolverá .F. cuando el handle ya no sea válido.

Igual puedes comprobarlo desde un timer, desde una opción del menú, desde un WHEN, etc.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 189
Joined: Wed Apr 05, 2006 09:48 PM
Dialog No Modal
Posted: Wed Nov 07, 2007 11:24 AM

Gracias Antonio, he puesto este codigo dentro del metodo close de la clase tdialog:

 if ValType( ::bClose ) == "B"
  if ! IsWindow(::hWnd )
  Eval( ::bClose, Self )
  Endif
  Endif

He creado una data nueva bClose y desde mi prg puede hacer lo siguiente : oDlg:bClose:={||cualquiercosa()}

Esta bien esto o me va dar algun tipo de problema ?

un saludo

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Dialog No Modal
Posted: Wed Nov 07, 2007 12:16 PM

Gabriel,

Parece una buena solución.

Pruébalo y si no te da errores, pues podrías usarlo

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion