Ver Mensaje Individual
  #1  
Antiguo 08-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Reputación: 21
gluglu Va por buen camino
SendMessage no me funciona

Hola de nuevo !

No entiendo por qué no me funciona el SendMessage en este caso, si por otro lado ayer con hilo diferente Seoane me dí una opción que me funcionó perfectamente.

A ver ...

En un formulario de mi aplicación principal pido un código de usuario. Después de introducirlo, y en el evento FormClose del Form correspondiente hago :

Código Delphi [-]
const
  WM_CLOSEREQUEST = WM_USER + 102;
 
procedure TLogIn.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  fHandle := FindWindow(nil, 'Wake-Up');
  if fHandle <> 0 then
    SendMessage(fHandle, WM_CLOSEREQUEST, 0, 0);
  ...
  ...
end;

Y en la otra aplicación denomnidad Wake-Up lo que tengo es :
Código Delphi [-]
const
  WM_CLOSEUSERID = WM_USER + 102;
 
type
  TWakeUp = class(TForm)
  ...
  private
    { Private declarations }
    procedure Close_UserID_Request(var Msg: TMessage); message WM_CLOSEUSERID;
  public
    { Public declarations }
  end;

procedure TWakeUp.Close_UserID_Request(var Msg: TMessage);
begin
  if Assigned(WakeUp1) then begin
    WakeUp1.Free;
    WakeUp1 := nil;
  end;
end;

Pues bien, no entra nunca en el procedimiento TWakeUp.Close_UserID_Request, aun habiendo comprobado que el fHandle obtenido en la aplicación que 'manda' el mensaje es diferente de 0 y que pasa correctamente por SendMessage.

Qué estoy haciendo mal ??

Garcias por vuestra ayuda.
__________________
Piensa siempre en positivo !
Responder Con Cita