Cita:
Empezado por Casimiro Notevi
¿Y cual es el problema?
|
Hola Casimiro, por el codigo que ha puesto, el mensaje se muestra una y otra ves ya que el showmessage esta dentro del timer.
Cita:
Empezado por granodetoro
................ entonces cuando inicia el programa pongo un showmessage que dice tiene un limite de tiempo para usar el programa y quiero que el showmessage se cierre cuando doy clic en la x
.................
|
Para que no ocurra eso no pongas el showmessage dentro del timer, a no ser con una banderita para que se ejecute solo una ves, pero corremos el riesgo de que el usuario tarde en presionar la X y se siga mostrando el mensaje varias veces según al tiempo que le hayas dado al timer.
Puedes utilizar el evento OnActivate, para que te muestre el mensaje despues de cargar el form.
Código Delphi
[-]
procedure TForm1.FormActivate(Sender: TObject);
begin
if band then
begin
showmessage('tiene un limite de tiempo para usar el programa ');
band := false;
end;
end;
o también puedes enviar un mensaje con
PostMessage
Código Delphi
[-]
const
AfterShow = WM_USER + 1;
...............................
...............................
procedure After_Show(var Msg: TMessage); message AfterShow;
...................................
procedure TForm1.After_Show(var Msg: TMessage);
begin
showmessage('tiene un limite de tiempo para usar el programa ');
end;
procedure TForm1.FormShow(Sender: TObject);
begin
PostMessage(Handle, AfterShow, 0, 0);
end;
Saluditos