Buenos días :
De la pregunta del amigo Xevi sobre el método Insert() en la clase TDBBrowse me ha surgido la duda del valor de retorno de los eventos, ya que si miramos el código delos mismos siempre (o eso creo) devuelven NIL
si miramos parte de aquel código.
xRet := ::OnInsert() // aquí creo que se refiere al evento OnInsert de la clase padre, pero no lo se ....
IF Valtype( xRet ) == "L" .AND. !xRet // Pero aquí asume que le le ha pasado un valor lógico y el método OnInsert() de la clase padre devuelve NIL.(Lo he mirado)
El equipo Xailer no se han equivocado en el código y esperan un valor lógico, ¿Cómo es esto ...?
Sin embargo si parece ser que hay eventos que devuelven valor, código del evento OnClick de la clase TButton
METHOD Click() CLASS XButton
LOCAL lResult := ::OnClick() // Añadido por mi. Llama al al evento de la clase padre y le asigna valor lógico, creo que siempre devuelve 0
IF ::nModalResult != 0
IF ValType( lResult ) != "L" .OR. lResult
::oForm:nModalResult := ::nModalResult
::oForm:Close()
ENDIF
ENDIF
RETURN 0
Pero cuando colocas código en el evento Onclick del botón, este es el esqueleto y devuelve NIL
METHOD Button2Click( oSender ) CLASS TForm1
// Codigo
RETURN NIL
¿Alguien puede explicarme esto?
Gracias amigos.
Jose Vte.
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.
Valor devuelto por un evento
Re: Valor devuelto por un evento
Me respondo un poco...
De la pregunta del amigo Xevi sobre el método Insert() en la clase TDBBrowse me ha surgido la duda del valor de retorno de los eventos, ya que si miramos el código delos mismos siempre (o eso creo) devuelven NIL
xRet := ::OnInsert() // LLama al evento de su clase
IF Valtype( xRet ) == "L" .AND. !xRet //
Yo creo que debemos devolver nosotros un valor lógico en el Evento OnInsert()
Sin embargo si parece ser que hay eventos que devuelven valor, código del evento OnClick de la clase TButton
METHOD Click() CLASS XButton
LOCAL lResult := ::OnClick() // LLama al evento Onclick de su clase, es lo mismo que Self:Onclick()
IF ::nModalResult != 0
IF ValType( lResult ) != "L" .OR. lResult
::oForm:nModalResult := ::nModalResult
::oForm:Close()
ENDIF
ENDIF
RETURN 0
Error mio no es un evento es un método.
Pero cuando colocas código en el evento Onclick del botón, este es el esqueleto y devuelve NIL
METHOD Button2Click( oSender ) CLASS TForm1
// Codigo
RETURN NIL
Pero podemos forzar un RETURN nosotros con lo que queramos.
Buen fin de semana a todos.
Jose Vte.
De la pregunta del amigo Xevi sobre el método Insert() en la clase TDBBrowse me ha surgido la duda del valor de retorno de los eventos, ya que si miramos el código delos mismos siempre (o eso creo) devuelven NIL
xRet := ::OnInsert() // LLama al evento de su clase
IF Valtype( xRet ) == "L" .AND. !xRet //
Yo creo que debemos devolver nosotros un valor lógico en el Evento OnInsert()
Sin embargo si parece ser que hay eventos que devuelven valor, código del evento OnClick de la clase TButton
METHOD Click() CLASS XButton
LOCAL lResult := ::OnClick() // LLama al evento Onclick de su clase, es lo mismo que Self:Onclick()
IF ::nModalResult != 0
IF ValType( lResult ) != "L" .OR. lResult
::oForm:nModalResult := ::nModalResult
::oForm:Close()
ENDIF
ENDIF
RETURN 0
Error mio no es un evento es un método.
Pero cuando colocas código en el evento Onclick del botón, este es el esqueleto y devuelve NIL
METHOD Button2Click( oSender ) CLASS TForm1
// Codigo
RETURN NIL
Pero podemos forzar un RETURN nosotros con lo que queramos.
Buen fin de semana a todos.
Jose Vte.