Hola!,
Tengo un formulario con un evento onExit en un TdbEdit y un browse con el
lFilterBar a .t.
Me he dado cuenta de que cuando pincho en el filtro del browse no se dispara
el evento onExit del Edit.
lo utilizo para saber en qué control estoy antes de entrar en el browse,
de tal forma que al hacer doble click en el browse pueda retroceder al control
en el que me encotraba. Me funciona bien cuando pincho directamente sobre
una línea del browse, pero si primero hago una búsqueda mediante la barra
de filtro me da un error, ya que al no ejecutarse el onExit (que sólo tiene
la línea ::prevcontrol := osender) , ::prevcontrol está a nil.
Un saludico,
Fredy
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
los TdbBrowse con lFilterBar y el evento on exit
los TdbBrowse con lFilterBar y el evento on exit
Fredy,
> lo utilizo para saber en qué control estoy antes de entrar en el browse,
> de tal forma que al hacer doble click en el browse pueda retroceder al
> control en el que me encotraba. Me funciona bien cuando pincho
> directamente sobre una línea del browse, pero si primero hago una búsqueda
> mediante la barra de filtro me da un error, ya que al no ejecutarse el
> onExit (que sólo tiene la línea ::prevcontrol := osender) , ::prevcontrol
> está a nil.
Por favor, haz una pequeña prueba: donde compruebas ::prevcontrol, pon lo
siguiente:
IF ::prevcontrol == Nil
::prevcontrol := GetControlFromHandle( GetFocus() )
LogDebug( ::prevcontrol:ClassName )
ENDIF
y dime lo que sale en la ventana de debug.
--
Un saludo,
José F. Giménez
> lo utilizo para saber en qué control estoy antes de entrar en el browse,
> de tal forma que al hacer doble click en el browse pueda retroceder al
> control en el que me encotraba. Me funciona bien cuando pincho
> directamente sobre una línea del browse, pero si primero hago una búsqueda
> mediante la barra de filtro me da un error, ya que al no ejecutarse el
> onExit (que sólo tiene la línea ::prevcontrol := osender) , ::prevcontrol
> está a nil.
Por favor, haz una pequeña prueba: donde compruebas ::prevcontrol, pon lo
siguiente:
IF ::prevcontrol == Nil
::prevcontrol := GetControlFromHandle( GetFocus() )
LogDebug( ::prevcontrol:ClassName )
ENDIF
y dime lo que sale en la ventana de debug.
--
Un saludo,
José F. Giménez
los TdbBrowse con lFilterBar y el evento on exit
Hola,
Me dice que es un TDBBrowse
el error lo da en la línea
::PrevControl:Value := AllTrim( Str( ::oContactos:Codigo ) )
::PrevControl:SetFocus()
Un saludico,
Fredy
> Fredy,
>
>> lo utilizo para saber en qué control estoy antes de entrar en el
>> browse, de tal forma que al hacer doble click en el browse pueda
>> retroceder al control en el que me encotraba. Me funciona bien cuando
>> pincho directamente sobre una línea del browse, pero si primero hago
>> una búsqueda mediante la barra de filtro me da un error, ya que al no
>> ejecutarse el onExit (que sólo tiene la línea ::prevcontrol :=
>> osender) , ::prevcontrol está a nil.
>>
> Por favor, haz una pequeña prueba: donde compruebas ::prevcontrol, pon
> lo siguiente:
>
> IF ::prevcontrol == Nil
> ::prevcontrol := GetControlFromHandle( GetFocus() )
> LogDebug( ::prevcontrol:ClassName )
> ENDIF
> y dime lo que sale en la ventana de debug.
>
> José F. Giménez
>
Me dice que es un TDBBrowse
el error lo da en la línea
::PrevControl:Value := AllTrim( Str( ::oContactos:Codigo ) )
::PrevControl:SetFocus()
Un saludico,
Fredy
> Fredy,
>
>> lo utilizo para saber en qué control estoy antes de entrar en el
>> browse, de tal forma que al hacer doble click en el browse pueda
>> retroceder al control en el que me encotraba. Me funciona bien cuando
>> pincho directamente sobre una línea del browse, pero si primero hago
>> una búsqueda mediante la barra de filtro me da un error, ya que al no
>> ejecutarse el onExit (que sólo tiene la línea ::prevcontrol :=
>> osender) , ::prevcontrol está a nil.
>>
> Por favor, haz una pequeña prueba: donde compruebas ::prevcontrol, pon
> lo siguiente:
>
> IF ::prevcontrol == Nil
> ::prevcontrol := GetControlFromHandle( GetFocus() )
> LogDebug( ::prevcontrol:ClassName )
> ENDIF
> y dime lo que sale en la ventana de debug.
>
> José F. Giménez
>
los TdbBrowse con lFilterBar y el evento on exit
Fredy,
> Me dice que es un TDBBrowse
>
> el error lo da en la línea
> ::PrevControl:Value := AllTrim( Str( ::oContactos:Codigo ) )
> ::PrevControl:SetFocus()
Ok. Gracias. Ya sabemos porque pasa. Esta tarde intentaré corregirlo.
--
Un saludo,
José F. Giménez
> Me dice que es un TDBBrowse
>
> el error lo da en la línea
> ::PrevControl:Value := AllTrim( Str( ::oContactos:Codigo ) )
> ::PrevControl:SetFocus()
Ok. Gracias. Ya sabemos porque pasa. Esta tarde intentaré corregirlo.
--
Un saludo,
José F. Giménez