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.
Problema con evento
Problema con evento
Hola,
Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
asignar lo siguiente:
oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
"lEdit" ejecutar el evento definido en el IDE y devolver posteriormente
el .T. o .F. que necesito?
En realidad,quiero que sólo se dispare el evento si es .T.
Un Saludo,
Joaquín
Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
asignar lo siguiente:
oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
"lEdit" ejecutar el evento definido en el IDE y devolver posteriormente
el .T. o .F. que necesito?
En realidad,quiero que sólo se dispare el evento si es .T.
Un Saludo,
Joaquín
Problema con evento
Joaquín,
> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
> asignar lo siguiente:
>
> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>
> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data "lEdit"
> ejecutar el evento definido en el IDE y devolver posteriormente el .T. o
> .F. que necesito?
>
> En realidad,quiero que sólo se dispare el evento si es .T.
No termino de entender lo que quieres hacer, pero quizás esto te dé alguna
idea: puedes crear los métodos que quieras en la clase, y después, desde los
eventos que necesites puedes llamarlos. P.ej., supongamos que creas un
método HacerAlgo() con código más o menos complejo, y que quieres que se
ejecute en determinadas circustancias. Pues puedes llamarlo desde distintos
eventos y controlando cuando se va a ejecutar:
METHOD Button1Click( oSender )
IF .... // lo que sea
::HacerAlgo()
ELSE
// Otras cosas
ENDIF
RETURN Nil
Por otro lado, te recuerdo que en Xailer, como normal general, si el código
de un evento retorna Nil significa que Xailer debe responder con el
comportamiento por defecto como si el evento no estuviera asignado. En
cambio, retornar cualquier otro valor significa que Xailer debe dar por
procesado dicho evento y no hacer nada más, salvo retornar ese mismo valor
al API en caso de que se trate de un mensaje de windows. Y esta regla vale
para todo Xailer salvo que expresamente se indique en contra en la
documentación.
Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo que
tenga que hacer por defecto, mientras que si retornas, p.ej., .T. ó .F.,
Xailer dará por procesado el evento y en su caso permitirá o no permitirá
que se produzca el cambio.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
> asignar lo siguiente:
>
> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>
> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data "lEdit"
> ejecutar el evento definido en el IDE y devolver posteriormente el .T. o
> .F. que necesito?
>
> En realidad,quiero que sólo se dispare el evento si es .T.
No termino de entender lo que quieres hacer, pero quizás esto te dé alguna
idea: puedes crear los métodos que quieras en la clase, y después, desde los
eventos que necesites puedes llamarlos. P.ej., supongamos que creas un
método HacerAlgo() con código más o menos complejo, y que quieres que se
ejecute en determinadas circustancias. Pues puedes llamarlo desde distintos
eventos y controlando cuando se va a ejecutar:
METHOD Button1Click( oSender )
IF .... // lo que sea
::HacerAlgo()
ELSE
// Otras cosas
ENDIF
RETURN Nil
Por otro lado, te recuerdo que en Xailer, como normal general, si el código
de un evento retorna Nil significa que Xailer debe responder con el
comportamiento por defecto como si el evento no estuviera asignado. En
cambio, retornar cualquier otro valor significa que Xailer debe dar por
procesado dicho evento y no hacer nada más, salvo retornar ese mismo valor
al API en caso de que se trate de un mensaje de windows. Y esta regla vale
para todo Xailer salvo que expresamente se indique en contra en la
documentación.
Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo que
tenga que hacer por defecto, mientras que si retornas, p.ej., .T. ó .F.,
Xailer dará por procesado el evento y en su caso permitirá o no permitirá
que se produzca el cambio.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
Problema con evento
Jose,
Sigue sin funcionarme, quiero realizar algo y luego que el evento que
asigné en el IDE también se ejecute.
Te pongo el ejemplo:
En el IDE creo el siguiente evento en un combo:
METHOD Combo1Change( oSender, nIndex, nOldIndex ) CLASS TFormPrueba
msginfo("Evento definido en el IDE")
RETURN Nil
Y en el formInitialize quiero introducir mi evento de la siguiente forma:
::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje
antes del IDE") , nil }
Me salta el 1º, no el definido en el IDE, quiero que me salten los 2, es
decir, en el codeblock relanzar el evento del IDE si está definido según
una condición que evalúo en el mismo codeblock.
¿Se puede hacer?
Un Saludo,
Joaquín
Jose F. Gimenez escribió:
> Joaquín,
>
>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
>> asignar lo siguiente:
>>
>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>
>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data "lEdit"
>> ejecutar el evento definido en el IDE y devolver posteriormente el .T. o
>> .F. que necesito?
>>
>> En realidad,quiero que sólo se dispare el evento si es .T.
>
> No termino de entender lo que quieres hacer, pero quizás esto te dé alguna
> idea: puedes crear los métodos que quieras en la clase, y después, desde los
> eventos que necesites puedes llamarlos. P.ej., supongamos que creas un
> método HacerAlgo() con código más o menos complejo, y que quieres que se
> ejecute en determinadas circustancias. Pues puedes llamarlo desde distintos
> eventos y controlando cuando se va a ejecutar:
>
> METHOD Button1Click( oSender )
> IF .... // lo que sea
> ::HacerAlgo()
> ELSE
> // Otras cosas
> ENDIF
> RETURN Nil
>
> Por otro lado, te recuerdo que en Xailer, como normal general, si el código
> de un evento retorna Nil significa que Xailer debe responder con el
> comportamiento por defecto como si el evento no estuviera asignado. En
> cambio, retornar cualquier otro valor significa que Xailer debe dar por
> procesado dicho evento y no hacer nada más, salvo retornar ese mismo valor
> al API en caso de que se trate de un mensaje de windows. Y esta regla vale
> para todo Xailer salvo que expresamente se indique en contra en la
> documentación.
>
> Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo que
> tenga que hacer por defecto, mientras que si retornas, p.ej., .T. ó .F.,
> Xailer dará por procesado el evento y en su caso permitirá o no permitirá
> que se produzca el cambio.
>
Sigue sin funcionarme, quiero realizar algo y luego que el evento que
asigné en el IDE también se ejecute.
Te pongo el ejemplo:
En el IDE creo el siguiente evento en un combo:
METHOD Combo1Change( oSender, nIndex, nOldIndex ) CLASS TFormPrueba
msginfo("Evento definido en el IDE")
RETURN Nil
Y en el formInitialize quiero introducir mi evento de la siguiente forma:
::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje
antes del IDE") , nil }
Me salta el 1º, no el definido en el IDE, quiero que me salten los 2, es
decir, en el codeblock relanzar el evento del IDE si está definido según
una condición que evalúo en el mismo codeblock.
¿Se puede hacer?
Un Saludo,
Joaquín
Jose F. Gimenez escribió:
> Joaquín,
>
>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
>> asignar lo siguiente:
>>
>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>
>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data "lEdit"
>> ejecutar el evento definido en el IDE y devolver posteriormente el .T. o
>> .F. que necesito?
>>
>> En realidad,quiero que sólo se dispare el evento si es .T.
>
> No termino de entender lo que quieres hacer, pero quizás esto te dé alguna
> idea: puedes crear los métodos que quieras en la clase, y después, desde los
> eventos que necesites puedes llamarlos. P.ej., supongamos que creas un
> método HacerAlgo() con código más o menos complejo, y que quieres que se
> ejecute en determinadas circustancias. Pues puedes llamarlo desde distintos
> eventos y controlando cuando se va a ejecutar:
>
> METHOD Button1Click( oSender )
> IF .... // lo que sea
> ::HacerAlgo()
> ELSE
> // Otras cosas
> ENDIF
> RETURN Nil
>
> Por otro lado, te recuerdo que en Xailer, como normal general, si el código
> de un evento retorna Nil significa que Xailer debe responder con el
> comportamiento por defecto como si el evento no estuviera asignado. En
> cambio, retornar cualquier otro valor significa que Xailer debe dar por
> procesado dicho evento y no hacer nada más, salvo retornar ese mismo valor
> al API en caso de que se trate de un mensaje de windows. Y esta regla vale
> para todo Xailer salvo que expresamente se indique en contra en la
> documentación.
>
> Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo que
> tenga que hacer por defecto, mientras que si retornas, p.ej., .T. ó .F.,
> Xailer dará por procesado el evento y en su caso permitirá o no permitirá
> que se produzca el cambio.
>
Problema con evento
Joaquín,
Escrito al vuelo:
::oCombo1:Cargo := ::oCombo1:OnChange
::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje antes
del IDE") ,Eval(oSender:Cargo, oSender, nIndex, nOldIndex) ,nil }
Saludos,
José Luis Capel
----- Original Message -----
From: "Joaquín Martínez" <jmartial@interbook.net>
Newsgroups: local.xailer.pro.es
Sent: Saturday, June 16, 2007 7:25 PM
Subject: Re: Problema con evento
> Jose,
>
> Sigue sin funcionarme, quiero realizar algo y luego que el evento que
> asigné en el IDE también se ejecute.
> Te pongo el ejemplo:
>
> En el IDE creo el siguiente evento en un combo:
>
> METHOD Combo1Change( oSender, nIndex, nOldIndex ) CLASS TFormPrueba
> msginfo("Evento definido en el IDE")
> RETURN Nil
>
> Y en el formInitialize quiero introducir mi evento de la siguiente forma:
>
> ::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje antes
> del IDE") , nil }
>
> Me salta el 1º, no el definido en el IDE, quiero que me salten los 2, es
> decir, en el codeblock relanzar el evento del IDE si está definido según
> una condición que evalúo en el mismo codeblock.
>
> ¿Se puede hacer?
>
> Un Saludo,
> Joaquín
>
>
> Jose F. Gimenez escribió:
>> Joaquín,
>>
>>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
>>> asignar lo siguiente:
>>>
>>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>>
>>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
>>> "lEdit" ejecutar el evento definido en el IDE y devolver posteriormente
>>> el .T. o .F. que necesito?
>>>
>>> En realidad,quiero que sólo se dispare el evento si es .T.
>>
>> No termino de entender lo que quieres hacer, pero quizás esto te dé
>> alguna idea: puedes crear los métodos que quieras en la clase, y después,
>> desde los eventos que necesites puedes llamarlos. P.ej., supongamos que
>> creas un método HacerAlgo() con código más o menos complejo, y que
>> quieres que se ejecute en determinadas circustancias. Pues puedes
>> llamarlo desde distintos eventos y controlando cuando se va a ejecutar:
>>
>> METHOD Button1Click( oSender )
>> IF .... // lo que sea
>> ::HacerAlgo()
>> ELSE
>> // Otras cosas
>> ENDIF
>> RETURN Nil
>>
>> Por otro lado, te recuerdo que en Xailer, como normal general, si el
>> código de un evento retorna Nil significa que Xailer debe responder con
>> el comportamiento por defecto como si el evento no estuviera asignado. En
>> cambio, retornar cualquier otro valor significa que Xailer debe dar por
>> procesado dicho evento y no hacer nada más, salvo retornar ese mismo
>> valor al API en caso de que se trate de un mensaje de windows. Y esta
>> regla vale para todo Xailer salvo que expresamente se indique en contra
>> en la documentación.
>>
>> Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo que
>> tenga que hacer por defecto, mientras que si retornas, p.ej., .T. ó .F.,
>> Xailer dará por procesado el evento y en su caso permitirá o no permitirá
>> que se produzca el cambio.
>>
"Joaquín Martínez" <jmartial@interbook.net> escribió en el mensaje de
noticias news:46717d09$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola,
>
> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
> asignar lo siguiente:
>
> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>
> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data "lEdit"
> ejecutar el evento definido en el IDE y devolver posteriormente el .T. o
> .F. que necesito?
>
> En realidad,quiero que sólo se dispare el evento si es .T.
>
> Un Saludo,
> Joaquín
Escrito al vuelo:
::oCombo1:Cargo := ::oCombo1:OnChange
::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje antes
del IDE") ,Eval(oSender:Cargo, oSender, nIndex, nOldIndex) ,nil }
Saludos,
José Luis Capel
----- Original Message -----
From: "Joaquín Martínez" <jmartial@interbook.net>
Newsgroups: local.xailer.pro.es
Sent: Saturday, June 16, 2007 7:25 PM
Subject: Re: Problema con evento
> Jose,
>
> Sigue sin funcionarme, quiero realizar algo y luego que el evento que
> asigné en el IDE también se ejecute.
> Te pongo el ejemplo:
>
> En el IDE creo el siguiente evento en un combo:
>
> METHOD Combo1Change( oSender, nIndex, nOldIndex ) CLASS TFormPrueba
> msginfo("Evento definido en el IDE")
> RETURN Nil
>
> Y en el formInitialize quiero introducir mi evento de la siguiente forma:
>
> ::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje antes
> del IDE") , nil }
>
> Me salta el 1º, no el definido en el IDE, quiero que me salten los 2, es
> decir, en el codeblock relanzar el evento del IDE si está definido según
> una condición que evalúo en el mismo codeblock.
>
> ¿Se puede hacer?
>
> Un Saludo,
> Joaquín
>
>
> Jose F. Gimenez escribió:
>> Joaquín,
>>
>>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
>>> asignar lo siguiente:
>>>
>>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>>
>>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
>>> "lEdit" ejecutar el evento definido en el IDE y devolver posteriormente
>>> el .T. o .F. que necesito?
>>>
>>> En realidad,quiero que sólo se dispare el evento si es .T.
>>
>> No termino de entender lo que quieres hacer, pero quizás esto te dé
>> alguna idea: puedes crear los métodos que quieras en la clase, y después,
>> desde los eventos que necesites puedes llamarlos. P.ej., supongamos que
>> creas un método HacerAlgo() con código más o menos complejo, y que
>> quieres que se ejecute en determinadas circustancias. Pues puedes
>> llamarlo desde distintos eventos y controlando cuando se va a ejecutar:
>>
>> METHOD Button1Click( oSender )
>> IF .... // lo que sea
>> ::HacerAlgo()
>> ELSE
>> // Otras cosas
>> ENDIF
>> RETURN Nil
>>
>> Por otro lado, te recuerdo que en Xailer, como normal general, si el
>> código de un evento retorna Nil significa que Xailer debe responder con
>> el comportamiento por defecto como si el evento no estuviera asignado. En
>> cambio, retornar cualquier otro valor significa que Xailer debe dar por
>> procesado dicho evento y no hacer nada más, salvo retornar ese mismo
>> valor al API en caso de que se trate de un mensaje de windows. Y esta
>> regla vale para todo Xailer salvo que expresamente se indique en contra
>> en la documentación.
>>
>> Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo que
>> tenga que hacer por defecto, mientras que si retornas, p.ej., .T. ó .F.,
>> Xailer dará por procesado el evento y en su caso permitirá o no permitirá
>> que se produzca el cambio.
>>
"Joaquín Martínez" <jmartial@interbook.net> escribió en el mensaje de
noticias news:46717d09$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola,
>
> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
> asignar lo siguiente:
>
> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>
> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data "lEdit"
> ejecutar el evento definido en el IDE y devolver posteriormente el .T. o
> .F. que necesito?
>
> En realidad,quiero que sólo se dispare el evento si es .T.
>
> Un Saludo,
> Joaquín
Problema con evento
Jose Luis,
Pues desde el vuelo, pruebaló.
No llama al evento definido desde el IDE, no sé como relanzar el evento
en xailer, ya había comprobado lo que dices, y de ahí mi pregunta.
Un Saludo,
Joaquín
José Luis Capel escribió:
> Joaquín,
>
> Escrito al vuelo:
>
> ::oCombo1:Cargo := ::oCombo1:OnChange
> ::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje antes
> del IDE") ,Eval(oSender:Cargo, oSender, nIndex, nOldIndex) ,nil }
>
> Saludos,
> José Luis Capel
>
>
>
> ----- Original Message ----- From: "Joaquín Martínez"
> <jmartial@interbook.net>
> Newsgroups: local.xailer.pro.es
> Sent: Saturday, June 16, 2007 7:25 PM
> Subject: Re: Problema con evento
>
>
>> Jose,
>>
>> Sigue sin funcionarme, quiero realizar algo y luego que el evento que
>> asigné en el IDE también se ejecute.
>> Te pongo el ejemplo:
>>
>> En el IDE creo el siguiente evento en un combo:
>>
>> METHOD Combo1Change( oSender, nIndex, nOldIndex ) CLASS TFormPrueba
>> msginfo("Evento definido en el IDE")
>> RETURN Nil
>>
>> Y en el formInitialize quiero introducir mi evento de la siguiente forma:
>>
>> ::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje
>> antes del IDE") , nil }
>>
>> Me salta el 1º, no el definido en el IDE, quiero que me salten los 2,
>> es decir, en el codeblock relanzar el evento del IDE si está definido
>> según una condición que evalúo en el mismo codeblock.
>>
>> ¿Se puede hacer?
>>
>> Un Saludo,
>> Joaquín
>>
>>
>> Jose F. Gimenez escribió:
>>> Joaquín,
>>>
>>>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un
>>>> control asignar lo siguiente:
>>>>
>>>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>>>
>>>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
>>>> "lEdit" ejecutar el evento definido en el IDE y devolver
>>>> posteriormente el .T. o .F. que necesito?
>>>>
>>>> En realidad,quiero que sólo se dispare el evento si es .T.
>>>
>>> No termino de entender lo que quieres hacer, pero quizás esto te dé
>>> alguna idea: puedes crear los métodos que quieras en la clase, y
>>> después, desde los eventos que necesites puedes llamarlos. P.ej.,
>>> supongamos que creas un método HacerAlgo() con código más o menos
>>> complejo, y que quieres que se ejecute en determinadas circustancias.
>>> Pues puedes llamarlo desde distintos eventos y controlando cuando se
>>> va a ejecutar:
>>>
>>> METHOD Button1Click( oSender )
>>> IF .... // lo que sea
>>> ::HacerAlgo()
>>> ELSE
>>> // Otras cosas
>>> ENDIF
>>> RETURN Nil
>>>
>>> Por otro lado, te recuerdo que en Xailer, como normal general, si el
>>> código de un evento retorna Nil significa que Xailer debe responder
>>> con el comportamiento por defecto como si el evento no estuviera
>>> asignado. En cambio, retornar cualquier otro valor significa que
>>> Xailer debe dar por procesado dicho evento y no hacer nada más, salvo
>>> retornar ese mismo valor al API en caso de que se trate de un mensaje
>>> de windows. Y esta regla vale para todo Xailer salvo que expresamente
>>> se indique en contra en la documentación.
>>>
>>> Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo
>>> que tenga que hacer por defecto, mientras que si retornas, p.ej., .T.
>>> ó .F., Xailer dará por procesado el evento y en su caso permitirá o
>>> no permitirá que se produzca el cambio.
>>>
>
> "Joaquín Martínez" <jmartial@interbook.net> escribió en el mensaje de
> noticias news:46717d09$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Hola,
>>
>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un
>> control asignar lo siguiente:
>>
>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>
>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
>> "lEdit" ejecutar el evento definido en el IDE y devolver
>> posteriormente el .T. o .F. que necesito?
>>
>> En realidad,quiero que sólo se dispare el evento si es .T.
>>
>> Un Saludo,
>> Joaquín
>
Pues desde el vuelo, pruebaló.
No llama al evento definido desde el IDE, no sé como relanzar el evento
en xailer, ya había comprobado lo que dices, y de ahí mi pregunta.
Un Saludo,
Joaquín
José Luis Capel escribió:
> Joaquín,
>
> Escrito al vuelo:
>
> ::oCombo1:Cargo := ::oCombo1:OnChange
> ::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje antes
> del IDE") ,Eval(oSender:Cargo, oSender, nIndex, nOldIndex) ,nil }
>
> Saludos,
> José Luis Capel
>
>
>
> ----- Original Message ----- From: "Joaquín Martínez"
> <jmartial@interbook.net>
> Newsgroups: local.xailer.pro.es
> Sent: Saturday, June 16, 2007 7:25 PM
> Subject: Re: Problema con evento
>
>
>> Jose,
>>
>> Sigue sin funcionarme, quiero realizar algo y luego que el evento que
>> asigné en el IDE también se ejecute.
>> Te pongo el ejemplo:
>>
>> En el IDE creo el siguiente evento en un combo:
>>
>> METHOD Combo1Change( oSender, nIndex, nOldIndex ) CLASS TFormPrueba
>> msginfo("Evento definido en el IDE")
>> RETURN Nil
>>
>> Y en el formInitialize quiero introducir mi evento de la siguiente forma:
>>
>> ::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje
>> antes del IDE") , nil }
>>
>> Me salta el 1º, no el definido en el IDE, quiero que me salten los 2,
>> es decir, en el codeblock relanzar el evento del IDE si está definido
>> según una condición que evalúo en el mismo codeblock.
>>
>> ¿Se puede hacer?
>>
>> Un Saludo,
>> Joaquín
>>
>>
>> Jose F. Gimenez escribió:
>>> Joaquín,
>>>
>>>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un
>>>> control asignar lo siguiente:
>>>>
>>>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>>>
>>>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
>>>> "lEdit" ejecutar el evento definido en el IDE y devolver
>>>> posteriormente el .T. o .F. que necesito?
>>>>
>>>> En realidad,quiero que sólo se dispare el evento si es .T.
>>>
>>> No termino de entender lo que quieres hacer, pero quizás esto te dé
>>> alguna idea: puedes crear los métodos que quieras en la clase, y
>>> después, desde los eventos que necesites puedes llamarlos. P.ej.,
>>> supongamos que creas un método HacerAlgo() con código más o menos
>>> complejo, y que quieres que se ejecute en determinadas circustancias.
>>> Pues puedes llamarlo desde distintos eventos y controlando cuando se
>>> va a ejecutar:
>>>
>>> METHOD Button1Click( oSender )
>>> IF .... // lo que sea
>>> ::HacerAlgo()
>>> ELSE
>>> // Otras cosas
>>> ENDIF
>>> RETURN Nil
>>>
>>> Por otro lado, te recuerdo que en Xailer, como normal general, si el
>>> código de un evento retorna Nil significa que Xailer debe responder
>>> con el comportamiento por defecto como si el evento no estuviera
>>> asignado. En cambio, retornar cualquier otro valor significa que
>>> Xailer debe dar por procesado dicho evento y no hacer nada más, salvo
>>> retornar ese mismo valor al API en caso de que se trate de un mensaje
>>> de windows. Y esta regla vale para todo Xailer salvo que expresamente
>>> se indique en contra en la documentación.
>>>
>>> Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo
>>> que tenga que hacer por defecto, mientras que si retornas, p.ej., .T.
>>> ó .F., Xailer dará por procesado el evento y en su caso permitirá o
>>> no permitirá que se produzca el cambio.
>>>
>
> "Joaquín Martínez" <jmartial@interbook.net> escribió en el mensaje de
> noticias news:46717d09$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Hola,
>>
>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un
>> control asignar lo siguiente:
>>
>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>
>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
>> "lEdit" ejecutar el evento definido en el IDE y devolver
>> posteriormente el .T. o .F. que necesito?
>>
>> En realidad,quiero que sólo se dispare el evento si es .T.
>>
>> Un Saludo,
>> Joaquín
>
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problema con evento
Joaquin,
No se puede hacer lo que quieres. Lo más sencillo es que muevas el código
del evento Combo1Change a un método particular tuyo y después simplemente
hagas:
oCombo:OnChange := {|o,nNew, nOld| msginfo("Mensaje antes del IDE") ,
MiMetodo()}
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Joaquín Martínez" <jmartial@interbook.net> escribió en el mensaje
news:[email=46741cf8@ozsrv2.ozlan.local...]46741cf8@ozsrv2.ozlan.local...[/email]
> Jose,
>
> Sigue sin funcionarme, quiero realizar algo y luego que el evento que
> asigné en el IDE también se ejecute.
> Te pongo el ejemplo:
>
> En el IDE creo el siguiente evento en un combo:
>
> METHOD Combo1Change( oSender, nIndex, nOldIndex ) CLASS TFormPrueba
> msginfo("Evento definido en el IDE")
> RETURN Nil
>
> Y en el formInitialize quiero introducir mi evento de la siguiente forma:
>
> ::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje antes
> del IDE") , nil }
>
> Me salta el 1º, no el definido en el IDE, quiero que me salten los 2, es
> decir, en el codeblock relanzar el evento del IDE si está definido según
> una condición que evalúo en el mismo codeblock.
>
> ¿Se puede hacer?
>
> Un Saludo,
> Joaquín
>
>
> Jose F. Gimenez escribió:
>> Joaquín,
>>
>>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
>>> asignar lo siguiente:
>>>
>>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>>
>>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
>>> "lEdit" ejecutar el evento definido en el IDE y devolver posteriormente
>>> el .T. o .F. que necesito?
>>>
>>> En realidad,quiero que sólo se dispare el evento si es .T.
>>
>> No termino de entender lo que quieres hacer, pero quizás esto te dé
>> alguna idea: puedes crear los métodos que quieras en la clase, y después,
>> desde los eventos que necesites puedes llamarlos. P.ej., supongamos que
>> creas un método HacerAlgo() con código más o menos complejo, y que
>> quieres que se ejecute en determinadas circustancias. Pues puedes
>> llamarlo desde distintos eventos y controlando cuando se va a ejecutar:
>>
>> METHOD Button1Click( oSender )
>> IF .... // lo que sea
>> ::HacerAlgo()
>> ELSE
>> // Otras cosas
>> ENDIF
>> RETURN Nil
>>
>> Por otro lado, te recuerdo que en Xailer, como normal general, si el
>> código de un evento retorna Nil significa que Xailer debe responder con
>> el comportamiento por defecto como si el evento no estuviera asignado. En
>> cambio, retornar cualquier otro valor significa que Xailer debe dar por
>> procesado dicho evento y no hacer nada más, salvo retornar ese mismo
>> valor al API en caso de que se trate de un mensaje de windows. Y esta
>> regla vale para todo Xailer salvo que expresamente se indique en contra
>> en la documentación.
>>
>> Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo que
>> tenga que hacer por defecto, mientras que si retornas, p.ej., .T. ó .F.,
>> Xailer dará por procesado el evento y en su caso permitirá o no permitirá
>> que se produzca el cambio.
>>
No se puede hacer lo que quieres. Lo más sencillo es que muevas el código
del evento Combo1Change a un método particular tuyo y después simplemente
hagas:
oCombo:OnChange := {|o,nNew, nOld| msginfo("Mensaje antes del IDE") ,
MiMetodo()}
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Joaquín Martínez" <jmartial@interbook.net> escribió en el mensaje
news:[email=46741cf8@ozsrv2.ozlan.local...]46741cf8@ozsrv2.ozlan.local...[/email]
> Jose,
>
> Sigue sin funcionarme, quiero realizar algo y luego que el evento que
> asigné en el IDE también se ejecute.
> Te pongo el ejemplo:
>
> En el IDE creo el siguiente evento en un combo:
>
> METHOD Combo1Change( oSender, nIndex, nOldIndex ) CLASS TFormPrueba
> msginfo("Evento definido en el IDE")
> RETURN Nil
>
> Y en el formInitialize quiero introducir mi evento de la siguiente forma:
>
> ::Combo1:OnChange := {|oSender, nIndex, nOldIndex| msginfo("Mensaje antes
> del IDE") , nil }
>
> Me salta el 1º, no el definido en el IDE, quiero que me salten los 2, es
> decir, en el codeblock relanzar el evento del IDE si está definido según
> una condición que evalúo en el mismo codeblock.
>
> ¿Se puede hacer?
>
> Un Saludo,
> Joaquín
>
>
> Jose F. Gimenez escribió:
>> Joaquín,
>>
>>> Necesito hacer una cosa con Xailer y no veo como. Necesito en un control
>>> asignar lo siguiente:
>>>
>>> oCtrl:OnChange := {|oSender, nIndex, nOldIndex| if(!::lEdit,.F.,.T.) }
>>>
>>> Pero, pierdo el Onchange definido en el IDE ¿Podría según esa data
>>> "lEdit" ejecutar el evento definido en el IDE y devolver posteriormente
>>> el .T. o .F. que necesito?
>>>
>>> En realidad,quiero que sólo se dispare el evento si es .T.
>>
>> No termino de entender lo que quieres hacer, pero quizás esto te dé
>> alguna idea: puedes crear los métodos que quieras en la clase, y después,
>> desde los eventos que necesites puedes llamarlos. P.ej., supongamos que
>> creas un método HacerAlgo() con código más o menos complejo, y que
>> quieres que se ejecute en determinadas circustancias. Pues puedes
>> llamarlo desde distintos eventos y controlando cuando se va a ejecutar:
>>
>> METHOD Button1Click( oSender )
>> IF .... // lo que sea
>> ::HacerAlgo()
>> ELSE
>> // Otras cosas
>> ENDIF
>> RETURN Nil
>>
>> Por otro lado, te recuerdo que en Xailer, como normal general, si el
>> código de un evento retorna Nil significa que Xailer debe responder con
>> el comportamiento por defecto como si el evento no estuviera asignado. En
>> cambio, retornar cualquier otro valor significa que Xailer debe dar por
>> procesado dicho evento y no hacer nada más, salvo retornar ese mismo
>> valor al API en caso de que se trate de un mensaje de windows. Y esta
>> regla vale para todo Xailer salvo que expresamente se indique en contra
>> en la documentación.
>>
>> Por lo tanto, si en el evento OnChange devuelves Nil, Xailer hará lo que
>> tenga que hacer por defecto, mientras que si retornas, p.ej., .T. ó .F.,
>> Xailer dará por procesado el evento y en su caso permitirá o no permitirá
>> que se produzca el cambio.
>>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Problema con evento
Ignacio,
Lo que necesito es sin poner disable el combo (porque se ve muy poco)
que no pueda el usuario cambiar el elemento sellecionado, había pensado
usar el onChange y según una variable, que se ejecute el onChange
introducido en el IDE o no.
¿ Me podrías recomendar alguna forma de hacerlo si usar el onChange?
Ignacio Ortiz de Zúñiga escribió:
> Joaquin,
>
> No se puede hacer lo que quieres. Lo más sencillo es que muevas el código
> del evento Combo1Change a un método particular tuyo y después simplemente
> hagas:
>
> oCombo:OnChange := {|o,nNew, nOld| msginfo("Mensaje antes del IDE") ,
> MiMetodo()}
>
> Un saludo,
>
Lo que necesito es sin poner disable el combo (porque se ve muy poco)
que no pueda el usuario cambiar el elemento sellecionado, había pensado
usar el onChange y según una variable, que se ejecute el onChange
introducido en el IDE o no.
¿ Me podrías recomendar alguna forma de hacerlo si usar el onChange?
Ignacio Ortiz de Zúñiga escribió:
> Joaquin,
>
> No se puede hacer lo que quieres. Lo más sencillo es que muevas el código
> del evento Combo1Change a un método particular tuyo y después simplemente
> hagas:
>
> oCombo:OnChange := {|o,nNew, nOld| msginfo("Mensaje antes del IDE") ,
> MiMetodo()}
>
> Un saludo,
>
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problema con evento
Joaquin,
> ¿ Me podrías recomendar alguna forma de hacerlo siN usar el onChange?
Me temo que no hay ninguna forma sencilla de hacerlo.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
> ¿ Me podrías recomendar alguna forma de hacerlo siN usar el onChange?
Me temo que no hay ninguna forma sencilla de hacerlo.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Problema con evento
Ignacio,
Ya lo he conseguido redefiniendo el evento change(). Gracias de todas
formas.
Un Saludo,
Joaquín
Ignacio Ortiz de Zúñiga escribió:
> Joaquin,
>
>> ¿ Me podrías recomendar alguna forma de hacerlo siN usar el onChange?
>
> Me temo que no hay ninguna forma sencilla de hacerlo.
>
> Un saludo,
>
Ya lo he conseguido redefiniendo el evento change(). Gracias de todas
formas.
Un Saludo,
Joaquín
Ignacio Ortiz de Zúñiga escribió:
> Joaquin,
>
>> ¿ Me podrías recomendar alguna forma de hacerlo siN usar el onChange?
>
> Me temo que no hay ninguna forma sencilla de hacerlo.
>
> Un saludo,
>