FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
crear un evento en una clase?
hola,
mi problema es que no logro comprenderlo y no puedo hacer que funcione, parece que es muy simple, pero bueno... espero de su ayuda. esto está dentro de una unidad que la utilizo en un form. cada vez que presiono un boton, se ejecuta en un thread para enviar una archivo. Luego de que termina de enviar el archivo necesito saber que el archivo fue enviado. Gracias Última edición por marcoszorrilla fecha: 06-06-2007 a las 19:12:25. |
#2
|
||||
|
||||
Por favor utiliza TAG's cuando añadas código Delphi a los mensajes.
¿Has ejecutado paso a paso el código? ¿Se lanza el evento? ¿Lo has asignado a la instancia del objeto (sea en diseño o en ejecución)?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
No estas creando una instancia de EnviarFila, sino heredando de ella.
La definición de EnviarFila está bien, lo que tienes que cambiar es el uso en el Form1. Tienes que instanciar EnviarFila y asignar ese evento:
la asignación "x.OnFinish := AlTerminar;" es idéntico a cuando tú en el inspector de objetos, das un doble clic en un evento para "rellenarlo con código". En principio, para ejecutar un TThread, se debe usar su método Execute, tú usas PushFile, ya eso no es cuestión de eventos, sino de TThreads. Si no funciona como esperas, pon el código completo del TThread. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
|||
|
|||
Hola,
eso mas o menos quise hacer en un momento pero no se que problema de diferentes tipo me salia. Puede ser que esto cuando es en un componente lo hace en la extensión dfm? Buego, ahora lo voy a probar y veremos. muchas Gracias. |
#5
|
||||
|
||||
Comentarios adicionales:
Si la firma de tu evento va a ser (Sender: TObject), no veo razón para declarar un nuevo tipo. Podes usar el tipo TNotifyEvent, que parece el adecuado para tu caso. Luego, si existe la posibilidad de enviar varios archivos concurrentemente, debes realizar algún tipo de sincronización para hacer el código "Thread Safe", sobre todo si en la implementación del método AlTerminar vas a interactuar con la VCL. En ese caso, es mejor que este método se ejecute dentro del hilo principal de la aplicación. Recordá que la VCL no es Thread Safe y esta responsabilidad recae en vos (para mi, tiene sentido). Si no tenes idea de lo que estoy hablando, mirá la ayuda del método Synchronize de la clase TThread, creo que te aclarará las cosas. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Crear una clase y asignar objetos como propiedades | leanfreue | OOP | 4 | 13-04-2007 00:08:33 |
Crear eventos para una clase | DarkByte | OOP | 10 | 07-12-2005 20:02:28 |
Crear clase. Basico de POO. | DarkByte | OOP | 17 | 24-08-2005 17:37:21 |
Ayuda para crear una clase | estebanx | OOP | 0 | 10-03-2005 16:36:49 |
Error al crear una instancia de clase | jplj | OOP | 2 | 15-02-2005 11:52:07 |
|