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
>