FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Metodos dentro de una Unit
Perdonad lo mal que me explico, pero no se como expresarme.
A ver si alguien me puede orientar para hacerlo de la mejor forma posible Ya se que se puede unir todo dentro del form, y no es exactamente este caso, es solo un ejemplo simplificado. La parte de comunicacion debe ir en una unit independiente porque esa comunicacion aqui puede ser por socket, en otro caso puede ser por 232, etc y cambiando la unit de comunicacion deberia seguir todo funcionando Tengo un Tform1 con un TLabel que en su caption debera poner "Connectado" o "Desconectado" En otro lado tengo una Unit con un procedimiento tal cual ¿La pregunta es como asigno el onconnect y el ondisconnect?
|
#2
|
||||
|
||||
Falta información para que te podamos ayudar.
¿lconnect donde está? ¿En el formulario? ¿Es una variable global de la unit Srv? Parece como si quisieras hacer un procedimiento como los TNotifyEvent, pero no está muy claro el código Por lo demás, dependiendo de como estés enfocando esto, la forma de asignar los procedimientos a la captura de eventos es como dices en el formulario, asi que por este lado, el código es correcto, pero... ¡Como dice Casimiro, aquí estamos todos dispuestos a ayudar, pero sin bola de cristal en la mesa, es difícil! De todas formas, si es una captura de un notificador de eventos, en este enlace del maestro Cantú tienes un buen tutorial Saludos |
#3
|
||||
|
||||
Trata de emular lo que ya viene de fabrica con los componentes o controles de Delphi.
No queda del todo claro en tu codigo pero aparentemente OnClientConnect y OnClientDisconnect son dos propiedades de tipo TNotifyEvent. Esas 2 propiedades son publicas y estan ahi para que el usuario de tu clase pueda agregar codigo especifico cuando se cierra/abre la conexion. Piensa en un TButton. En su propiedad OnClick, que viene por defecto a NIL (es decir, no hay codigo "de terceros"), se puede almacenar la direccion a una rutina que programamos nosotros para que se ejecute cuando se hace click en el boton Vos ahi lo que estas haciendo es, en ese espacio preparado para los usuarios de tu clase, realizar el funcionamiento normal de tu clase, es decir, conectar o desconectar. Si a un TButton no le asignas nada en su OnClick, su metodo interno que procesa el click, dibuja el boton presionado, etc. Eso se sigue ejecutando tenga o no el boton un evento OnClick Tu codigo deberia quedar masomenos asi (yo tambien soy malo para expresarme, pero supongo que con el codigo se aclarara)
Recomendable mirar un poquitito en el codigo fuente de la VCL, ahi se aclara todo en un instante |
#4
|
||||
|
||||
Cita:
Para que me entiendas; Si miras este código que hay debajo, y de las 2 asignaciones que se hacen al evento OnClick, sólo una es correcta.
__________________
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. |
#5
|
||||
|
||||
Apoyando lo que dice Neftalí,
en el procedimeinto createsrv son "sospechosas" las asignaciones:
debido a que los evbentos normalemente deben pertenecer a un objeto y no puedens er procedimientos aislados. Ver la definición del evento TNotifyEvent:
Por tanto, deberias definir tus procedimientos en una clase... como buena práctica ademas.. Respondiendo tu pregunta específica, tal como dicen ElKurgan y AgustinOrtu , puedes definir tus propios eventos en lugar de utilizar el timer, asi:
en tu form principal haces:
Saludo, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Métodos de estudio. | ixMike | Humor | 0 | 19-12-2007 20:37:21 |
Metodos abstractos | nikotina | JAVA | 6 | 17-08-2007 19:29:01 |
herencia de metodos | supermilloriver | OOP | 7 | 07-01-2006 14:46:01 |
Crear query dentro de unit y funcion? | alehillebrand | OOP | 3 | 19-07-2005 00:56:59 |
como puedo usar una unit externa dentro de mi aplicacion | redlyon13 | Varios | 2 | 30-11-2003 18:09:13 |
|