Pregunta sobre procesos (De novato, me parece).

Started by Fede, April 12, 2010, 04:04:41 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Fede

Hola compañeros.

Pues estoy liado con mis objetos para ventanas y le ha tocado el turno a la textbox & company (Basada en la barra desplazadora y el botón).

Mi problema es el siguiente:

Cuando pulso sobre la barra, para intentar que la textbox haga un salto de página. Lo comunico al proceso barra mediante un cambio de variable.

El proceso barra se está ejecutando ya, y es éste mismo que detecta dicho cambio y actualiza la barra.

Entonces: (Dos dudas o problemas).

... no se si está es la forma más adecuada de comunicación entre procesos. (compartir variable y la van mirando para actuar en consecuencia).

La barra tarda medio siglo en enterarse y se repinta cuando le sale de los ..... y el texto, que es el padre de la barra, se actualiza mucho antes que esta. La pantalla se mueve millones de veces antes de que la barra se actualice. Es como si hasta que no parara el proceso padre, no hiciera nada el hijo. ¿Será por que es la textbox la que realiza el cambio de variable para que se entere la barra y no al reves?

¿Se puede parar el proceso padre (Lo llamo padre porque es el que crea y gestiona la barra) hasta que el hijo (Barra) se actualice?

Saludos y espero haberme explicado bien.
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

Drumpi

Si, se puede hacer así, sólo tienes que controlar la sincronización de procesos, que es lo que más quebraderos de cabeza te va a dar.
Un método muy sencillo es controlar quién se ejecuta antes usando la variable local predefinida PRIORITY. Si no recuerdo mal, cuanto más positiva es, antes se ejecuta. Ten cuidado con ella, porque si pones a 1 el valor de un proceso, este se ejecutará antes que los demás, pues el valor por defecto es 0.
También puedes usar funciones: son iguales que los procesos, pero congelan al padre hasta que terminan de ejecutarse, y no me refiero a llegar al FRAME, sino terminar su ejecución y/o hacer un RETURN de un valor, por lo que tendrías que crear la función a cada frame.
Luego tienes las señales, los SIGNALs. No recuerdo si se ejecutan al instante o al llegar a un frame (siempre me lio con las versiones), pero como mucho tendrás un retardo de 1 frame.

Si se te demora más tiempo, es que hay algún proceso con más de un frame, o con un frame con porcentaje superior a 100.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Fede

Esto es velocidad de respuesta, parece que vivis pegados al foro.  :D

Gracias compañero, si los karma me ayudan, esta noche lo pruebo, que estoy loco por acabar la textbox.
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

FreeYourMind

Quote from: Fede on April 12, 2010, 05:20:59 PM
Esto es velocidad de respuesta, parece que vivis pegados al foro.  :D

Es que es la realidad (por lo menos en mi caso)  ::)

DCelso

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Ha sido casualidad, pero se podría decir que estoy pegado al foro... quizás demasiado y por eso no programo todo lo que debiera ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Futu-block