Page 1 of 1

SECUENCIAS DE EVENTOS

Posted: Mon Apr 17, 2006 4:21 pm
by rbecares
Amigos:

Necesito saber dónde está la documentación donde indique precisamente la secuencia de eventos tanto de creación como de destrucción de los objetos ( forms, gets, etc. ) dentro de fivewin y el detalle de qué evento (perdón la redundancia) o condiciones deben cumplirse para que estos ocurran.

Mil Gracias.
Ricardo.-

Posted: Mon Apr 17, 2006 5:31 pm
by Antonio Linares
Ricardo,

Existen cientos de eventos en Windows. Windows es un entorno basado en eventos.

En la documentación de FW se explica como se crean los objetos con DEFINE ..., con REDEFINE ..., con @ ..., se activan si es preciso con ACTIVATE ... y finalmente se destruyen con :End() aunque FW automatiza la destrucción de los controles, muchos objetos GDI, etc.

Por último el recolector de basura de Clipper se encarga de liberar la memoria asignada a un objeto cuando este termina de ser usado, aunque no lo hace de forma inmediata.

Posted: Tue Apr 18, 2006 11:22 pm
by rbecares
Antonio:

No entiendo algo: eventos como el "unload" que están en VB, VFoxPro, etc cómo se manejan entonces desde FiveWin ya que no los encuentro dentro de los fuentes.

Ricardo.-

Posted: Wed Apr 19, 2006 9:54 am
by Antonio Linares
Esos eventos no son estandard de Windows, sino implementaciones propias de cada uno de esos lenguajes.

Por ejemplo el equivalente de "unload" podria ser el VALID de un diálogo, ó lo que hagas antes de llamar a :End().

Posted: Mon Apr 24, 2006 7:01 pm
by manuramos
No sé si estoy en lo cierto o no, pero creo que lo que RBECARES confunde eventos con mmensajes a clases, y lo que progunta, es una cosa que a mí también me interesaría saber con exactitud; y es: en qué secuencia ejecuta el Windows los METHOD's de las clases.

Personalmente, creo que es, al principio:

1) NEW() o REDEFINE()
2) INITIATE()
3) DISPLAY() / PAINT()

y al cerrar el Windows/Dialogo

DESTROY() / END()

Lo que no sé, es si son dos métodos equivalentes o secuenciales, es decir si un DESTROY() implica un END() o viceversa, o si uno se ejecuta antes que el otro.