Ver Mensaje Individual
  #2  
Antiguo 07-10-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Si he entendido bien tu explicación, en un momento determinado la aplicación despertador necesita saber que usuario, si hay alguno, esta autentificado en la aplicación principal. No se de que tipo es el "identificador de usuario" pero si es de tipo integer se me ocurre una solución bastante sencilla.

La función SendMessage, como cualquier función, devuelve un valor. Este valor es de tipo integer, así que si el identificador del usuario es de tipo integer solo tendríamos que enviar como resultado del mensaje el valor del identificador.

Algo así (en la aplicación principal):
Código Delphi [-]
const
  WM_GETUSERID = WM_USER + 101;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
    procedure GetUserId(var Msg: TMessage); message WM_GETUSERID;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.GetUserId(var Msg: TMessage);
begin
  // UserId es el identificador del usuario
  Msg.Result:= UserId; 
end;

Y en el despertador:
Código Delphi [-]
  // Handle es el manejador de la ventana principal
  UserID:= SendMessage(Handle,WM_GETUSERID,0,0);
Responder Con Cita