FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Mensajes entre formularios
Hola, tengo que hacer un programa que envie mensajes entre formularios, alguien podria darme una mano con un ejemplo?
Hablo de Tmessage, sendmessage, etc... Muchas gracias |
#2
|
|||
|
|||
Uso mensajes, a ver si te sirve.
En una Unit crea constantes para los mensajes que vas a emplear, y haz un use en la interface de todos los forms que harán uso de la mensajería.
Usa la numeración de mensajes a partir de $7FFF, ya que son los que están libres. Por ejemplo: Código:
unit MisMensajes; const WM_USER = $7FFF; WM_MUESTRA_TIEMPO = WM_USER + 100; WM_MUESTRA_CONEXION = WM_USER + 101; WM_MUESTRA_SUMA = WM_USER + 102; WM_REFRESH_USUARIO = WM_USER + 501; WM_REFRESH_EMPRESA = WM_USER + 502; WM_REFRESH_ENTIDAD = WM_USER + 503; WM_REFRESH_FACTURA_EMI = WM_USER + 512; WM_REFRESH_FACTURA_REC = WM_USER + 513; WM_CAMBIO_EMPRESA = WM_USER + 900; WM_CAMBIO_FECHA = WM_USER + 901; Cuando en un form se realice alguna acción que quieras que se enteren otros forms mandas un mensaje: Código:
PostMessage(Application.Handle, WM_REFRESH_EMPRESA, ElCodigo, 1); En los Forms donde quieras que se procesen determinados mensajes debes meter un componente TApplicationEvents y programar el evento OnMessage. (Delphi 7 trae este componente en Additional, si usas una versión anterior puedes instalar las rusas (RX), que contienen también este componente). Un ejemplo de como programar el evento OnMessage: Código:
procedure TFrmM_Empresas.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if (Msg.Message = WM_REFRESH_EMPRESA) then begin if Msg.wParam > 0 then begin if Msg.lParam = 1 then begin Qry.Locate('CODIGO', Msg.wParam, [loCaseInsensitive]); end; if Msg.lParam = 2 then begin Qry.Close; Qry.Open; Qry.Locate('CODIGO', Msg.wParam, [loCaseInsensitive]); end; end; end; end; Lo he escrito muy deprisa... espero no haber metido la pata en nada... Saludos. |
#3
|
||||
|
||||
Muchas gracias, ahora lo veo
Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mensajes WM anda entre sesiones?¿? | marceloalegre | Varios | 18 | 18-10-2005 17:30:11 |
Pasar datos entre formularios | davitcito | OOP | 1 | 29-06-2005 09:48:03 |
transladar una tecla entre dos formularios | Er_Manué | Varios | 1 | 05-11-2004 17:46:59 |
Valores entre formularios mdi | ctronx | Varios | 5 | 16-06-2004 22:19:01 |
Pasaje de variables entre formularios | santiago14 | Varios | 1 | 17-09-2003 19:11:05 |
|