Programación General > C++ Builder
Cambiar Funcionalidad Ontimer Dinámicamente
Ithilien:
Hola, llevo atascado un par de días con el siguiente problema:
Tengo que implementar, para un conjunto de TTimers que creo dinámicamente, una función OnTimer diferente. El caso es que he probado a crear una función e intentar asignársela, pero no acepta parámetros y al hacer
--- Código: Text ---Timer[i]->OnTimer = (TNotiryEvent) &NuevoOnTimer(cadena); , con "cadena" como char *, da error de tipos. El error que da concretamente es el siguiente:
--- Código: Text ---[C++ Error] Supervisor.cpp(65): E2109 Not an allowed type Por lo tanto, no sé como hacerlo. Si alguien lo sabe, lo agradecería muchísimo.
Enko:
Esto te deberia servir.
http://www.angelzeitoune.com.ar/cpp/eventos.html
Por sierto, tienes una falta de letra, Es TNotifyEvent, no TNotiryEvent (en el casing).
Ithilien:
perfect! me sirve!!!! Muchísimas gracias. Tu también tienes una falta :lol: : es casting, no casing :whistling:
Ithilien:
Hola de nuevo Enko. He estado mirando eso bien, y trabajando me di cuenta de que realmente no sirve esto, no? Lo digo porque estamos definiendo eventos para una clase ( en el ejemplo ) potencia, que construimos nosotros. Lo que ocurre es que yo uso los TTimers que ya estan definidos, y que, tienen su evento OnTimer que es del tipo TNotifyEvent, que solo acepta un parámetro que es el Sender. Y necesito pasarle otro parámetro, entiendes?
¿Se puede solucionar el problema? gracias!
Enko:
Lo que ocurre es que no vas a poder pasarle otro parametro que no sea el Sender. Es así como funciona la VCL.
Lo que podes hacer es usar una variable global, o bien, una variable miembro de TForm1.
--- Citar ---casting, no casing
--- Fin de la cita ---
Si, tenia esa duda, no me acordaba bien el nombre y dudé entre las dos. Me decidí por la que estaba mal.
Navegación
[#] Página Siguiente
Ir a la versión completa