27/10/2010, 08:32
|
| | Fecha de Ingreso: octubre-2010
Mensajes: 5
Antigüedad: 14 años Puntos: 0 | |
Respuesta: Ejecución control Timer en otro equipo Gracias nuevamente por tu respuesta. Respecto al código, está difícil que lo pueda subir porque me conecto a internet desde un ciber. Aún así, entre que no soy un gran programador y que el programa está relacionado con el tratamiento matemático de las potencias y deformaciones desarrolladas durante un proceso de forja, entender el código que he creado se puede hacer harto difícil.
Por un lado, tengo la convicción de que el problema radica precisamente en la velocidad de cada equipo, pero, por otro, me cuesta creer que sea así puesto que independientemente de eso si el Interval es de 3500 serán 3500 ms en cualquier equipo, con independencia de si éste va lento o no.
Realmente, la parte de código que genera problemas consta de 3 control Timer: uno principal - Timer1 - y dos secundarios - Timer2 y Timer3 -.
A continuación pongo los valores de la propiedad Interval de cada Timer:
Timer1 ---> 3500
Timer2 ----> 2500
Timer3 ----> 20
Al pulsar en la interfaz del programa un cierto botón que he llamado 'BRT', la propiedad Enabled del Timer1 se hace "True" ejecutándose el código del Timer1, como todos ya sabemos. En esta parte del código se hacen una serie de cálculos matemáticos y, al final de él, se hace True la propiedad Enabled del Timer2. El código del Timer2 pone , a su vez, en "False" su propiedad Enabled y en True la propiedad Enabled del Timer3, que es el responsable de la animación de la imagen colocada en un PictureBox. El código del Timer3 se ejecuta 50 veces; y llegado este momento - Contador = 50 - hace que Timer3.Enabled = False .
Sabiendo que el código del Timer1 se ejecutará 6 veces cada vez que se pulse el mencionado botón "BRT", y teniendo en cuenta los Interval de cada Timer, se puede comprobar que cuando se ejecuta la 50ª vez el código del Timer3 vuelve a ejecutarse el código del Timer1. Es decir, los Interval de cada Timer no han sido elegidos al azar sino que cuadran perfectamente ya que 3500 = 2500 + 50*20. :S. Sé que está explicado vagamente, pero si alguien está interesado en ayudarme/tiene curiosidad puedo profundizar más. |