Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-12-2010
Avatar de dalyla2010
dalyla2010 dalyla2010 is offline
Miembro
NULL
 
Registrado: dic 2010
Posts: 16
Poder: 0
dalyla2010 Va por buen camino
jajaja gracias >0<
Responder Con Cita
  #2  
Antiguo 28-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola dalyla2010.

Otra forma que podés utilizar para enviar y recibir datos entre forms es:

Form1 ( Receptor )
Código Delphi [-]
type
  TForm1 = class(TForm)
   ...
  private
    FResultado: string;
    procedure RecibirMsg(var Msg: TMessage); message WM_USER + 300;
  public
  end;
...
interface

uses Unit2;
...
procedure TForm1.RecibirMsg(var Msg: TMessage);// Capturar mensaje
begin
  FResultado:= PChar(Msg.LParam); // FResultado <- cadena enviada desde Form2
end;
...

Form2 ( Remitente )
Código Delphi [-]
...
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Value: string;
begin
  Value:= 'SALUDOS DESDE FORM2'; // lo que quieras que reciba Form1 en FResultado
  SendMessage(FindWindow('TForm1','Form1'), WM_USER + 300, 0, DWORD(Pchar(Value)));
  Action:= caFree;
end;

La función FindWindow debe especificar el nombre de clase y de form que correspondan al receptor.
En este caso utilizé un string pero podés pasar otros tipos de datos.

( Totalmente de acuerdo con ElKurgan )

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-12-2010 a las 21:14:21.
Responder Con Cita
  #3  
Antiguo 29-12-2010
Avatar de dalyla2010
dalyla2010 dalyla2010 is offline
Miembro
NULL
 
Registrado: dic 2010
Posts: 16
Poder: 0
dalyla2010 Va por buen camino
Gracias, si esta mas complicado, tal vez se pueda simplificar con una funcion y solo llamarla, y asi utilizarla mas veces. Excepto por el FindWindow, lo demas es constante?
Responder Con Cita
  #4  
Antiguo 29-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola dalyla2010.

Se puede hacer un procedimiento para enviar el mensaje, lo podrías ubicar en la interface de alguna unidad de uso común.

Algo como:
Código Delphi [-]
procedure EnviarMensaje(Cadena, FrmClassName: string);
begin
  SendMessage(FindWindow(PChar(FrmClassName), PChar(Copy(FrmClassName, 2, 255))),
              WM_USER + 300, 0, DWORD(Pchar(Cadena)));
end;

Un ejemplo de uso sería:
Código Delphi [-]
   EnviarMensaje('MENSAJE ENVIADO','TFormReceptor');

Pero el procedimiento para recibir el mensaje tendrías que incluirlo en cada form receptor, es decir:
Código Delphi [-]
...
 private
    FResultado: string;
    procedure RecibirMsg(var Msg: TMessage); message WM_USER + 300;
...
implementation

procedure TFormReceptor.RecibirMsg(var Msg: TMessage);
begin
  FResultado:= PChar(Msg.LParam); 
end;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 29-12-2010 a las 16:28:55.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pasar variables entre programas Belaix Varios 5 24-11-2008 07:06:31
exportacion de variables entre formas distintas zidfrid C++ Builder 0 02-10-2007 03:33:47
Como pasar datos entre dos formas modales creadas dinamicamente Tauro78 Varios 6 24-02-2007 15:03:39
Problema al pasar datos entre 2 formas maguib Varios 6 10-03-2005 20:19:33


La franja horaria es GMT +2. Ahora son las 16:27:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi