Executar ao encerrar o programa

Delphi

22/07/2008

Olá a todos!

Fiz um programa que ao iniciar o windows, ele é startado e acrescenta uma linha no banco de dados contendo a máquina, nome do usuário e horário de logon... Aí o programa fica rodando lá, escondidinho perto do relógio. Isso aí tá funcionando beleza! :wink:

Agora... gostaria que qdo o programa fosse encerrado, ele adicionasse outra linha no banco contendo os mesmos dados, mas já tentei no OnClose e OnCloseQuery e não consegui.

Obrigado ;)


Etomazett

Etomazett

Curtidas 0

Respostas

Paulo_amorim

Paulo_amorim

22/07/2008

Olá

Você colocou no FormClose? Talvez o evento onde vc esteja tratando isso ocorra depois do fechamento da conexão com o BD... onde está cada evento?

Espero que ajude

Até+


GOSTEI 0
Etomazett

Etomazett

22/07/2008

Olha só....

procedure TFormControle.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  with query do
  begin
    close;
    sql.clear;
    sql.Add(´insert into ccobr(ID_EVENTO,USUARIO_EVENTO,DATA_EVENTO,HORA_EVENTO,EVENTO,MAQUINA_EVENTO)´);
    sql.Add(´values(seq_id.nextval,´ + UpperCase(quotedstr(usuario)) + ´, to_date(´ + quotedstr(DateToStr(now)) + ´,´ + quotedstr(´dd/mm/yyyy´) + ´), to_date(´ + quotedstr(DateToStr(now) + ´ ´ + TimeToStr(Now)) + ´,´ +  quotedstr(´dd/mm/yyyy HH24:MI:SS´) + ´), ´ + quotedstr(´LOGOFF_closequery´)+ ´,´ + quotedstr(maquina) + ´)´);
    Active;
    sql.SaveToFile(´c:\logoff.sql´);
  end;
end;


procedure TFormControle.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  with query do
  begin
    close;
    sql.clear;
    sql.Add(´insert into ccobr(ID_EVENTO,USUARIO_EVENTO,DATA_EVENTO,HORA_EVENTO,EVENTO,MAQUINA_EVENTO)´);
    sql.Add(´values(seq_id.nextval,´ + UpperCase(quotedstr(usuario)) + ´, to_date(´ + quotedstr(DateToStr(now)) + ´,´ + quotedstr(´dd/mm/yyyy´) + ´), to_date(´ + quotedstr(DateToStr(now) + ´ ´ + TimeToStr(Now)) + ´,´ +  quotedstr(´dd/mm/yyyy HH24:MI:SS´) + ´), ´ + quotedstr(´LOGOFF_close´)+ ´,´ + quotedstr(maquina) + ´)´);
    Active;
    sql.SaveToFile(´c:\logoff.sql´);
  end;
end;



Em nenhum desses funcionou.[/code]



GOSTEI 0
POSTAR