Dialog No Modal

Dialog No Modal

Postby Frafive » Wed Nov 07, 2007 7: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
Frafive
 
Posts: 189
Joined: Wed Apr 05, 2006 9:48 pm

Postby Silvio » Wed Nov 07, 2007 8:21 am

Yes,

Code: Select all  Expand view  RUN
   IF oApp():oDlg != NIL
      IF oApp():nEdit > 0
         RETURN NIL
      ELSE
         oApp():oDlg:End()
         SysRefresh()
      ENDIF
   ENDIF



Saludos,
Best Regards, Saludos

Falconi Silvio
User avatar
Silvio
 
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Postby Antonio Linares » Wed Nov 07, 2007 8: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42159
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Frafive » 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
Frafive
 
Posts: 189
Joined: Wed Apr 05, 2006 9:48 pm

Postby Antonio Linares » 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
User avatar
Antonio Linares
Site Admin
 
Posts: 42159
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

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