Programa é finalizado mas fica executando
Pessoal Olá!
Estou com o seguinte problema, ao fechar minha applicatção ela ainda fica executando como se tivesse algum processo pendente.
Mas não consigo ver o que eh.
O programa é estruturado por formulários MDI...
Mas estava dando esse problema... até que coloquei relatórios feitos em Rave nele...
Daí ele começou a travar.
Try
Application.Terminate;
Finally
End;
Ele roda normal mas naum sai da memória.
Obrigada!
Silbene
Estou com o seguinte problema, ao fechar minha applicatção ela ainda fica executando como se tivesse algum processo pendente.
Mas não consigo ver o que eh.
O programa é estruturado por formulários MDI...
Mas estava dando esse problema... até que coloquei relatórios feitos em Rave nele...
Daí ele começou a travar.
Try
Application.Terminate;
Finally
End;
Ele roda normal mas naum sai da memória.
Obrigada!
Silbene
Eneblis
Curtidas 0
Respostas
Eneblis
22/09/2005
Corrigindo...
Ele não estava dando esse problema... mas ...
Ele não estava dando esse problema... mas ...
GOSTEI 0
Marco Salles
22/09/2005
Try Application.Terminate; Finally End;
e assim mesmo que esta :?: :?: :?: :?:
E onde esta eesse código :?: :?: :?:
Em qual evento :?: :?: :?:
GOSTEI 0
Eneblis
22/09/2005
O código encontra-se no OnClose do Form Principal...
Eu estou usando forms MDI...
Mas percebi que isso esta acontecendo depois que fiz alguns relatórios do RAVE...
:cry: Eu so gostaria de finalizar o programa, para que ele saia da memória...
Silbene.
Eu estou usando forms MDI...
Mas percebi que isso esta acontecendo depois que fiz alguns relatórios do RAVE...
:cry: Eu so gostaria de finalizar o programa, para que ele saia da memória...
Silbene.
GOSTEI 0
Pezzin
22/09/2005
Eu não trabalho com MDI.
Tenho relatórios em Rave e Quick.
No OnClose do Modulo Principal eu mando fechar todas as tabelas do meu Data Module.
Uso Action:=CaFree no OnClose nos meus Forms de Cadastro e Movimento.
Tenho relatórios em Rave e Quick.
No OnClose do Modulo Principal eu mando fechar todas as tabelas do meu Data Module.
Uso Action:=CaFree no OnClose nos meus Forms de Cadastro e Movimento.
GOSTEI 0
Marco Salles
22/09/2005
E onde esta eesse código
O código encontra-se no OnClose do Form Principal...
Try Application.Terminate; Finally End;
Voce nun respondeu :cry: :cry: :cry: O código e esse mesmo ??? So tem isso no Onclose do formPrincipal :?: :?: Não to entendendo porque
não tem nada abaixo do Finally :?: :?:
GOSTEI 0
Eneblis
22/09/2005
Desculpe eu estava testando... com Try...
Mas no form principal... está assim:
[b:3d01a3160d]
procedure Tfmenu.FormClose(Sender: TObject; var Action: TCloseAction);
var x: Byte;
begin
if MDIChildCount > 0 then
for x := 0 to Pred(MDIChildCount) do MDIChildren[x].Close;
dm.ConexaoGefin.Connected := False;
Application.Terminate;
end;[/b:3d01a3160d]
No principal... está assim:
[u:3d01a3160d]
begin
fsplash := Tfsplash.create(Application);
fsplash.Show;
fsplash.Update;
Application.Initialize;
Application.CreateForm(Tdm, dm);
Application.CreateForm(Tfmenu, fmenu);
fsplash.Hide;
fsplash.Free;
Application.Run;
end.[/u:3d01a3160d]
Mas no form principal... está assim:
[b:3d01a3160d]
procedure Tfmenu.FormClose(Sender: TObject; var Action: TCloseAction);
var x: Byte;
begin
if MDIChildCount > 0 then
for x := 0 to Pred(MDIChildCount) do MDIChildren[x].Close;
dm.ConexaoGefin.Connected := False;
Application.Terminate;
end;[/b:3d01a3160d]
No principal... está assim:
[u:3d01a3160d]
begin
fsplash := Tfsplash.create(Application);
fsplash.Show;
fsplash.Update;
Application.Initialize;
Application.CreateForm(Tdm, dm);
Application.CreateForm(Tfmenu, fmenu);
fsplash.Hide;
fsplash.Free;
Application.Run;
end.[/u:3d01a3160d]
GOSTEI 0
Marioguedes
22/09/2005
Às vezes sou atormentado com este problema devido a um TTimer, que não costumo usar e TThreads, que uso bastante...
Talvez seja uma dica.
Talvez seja uma dica.
GOSTEI 0
Massuda
22/09/2005
Não sei se isso vai resolver seu problema, mas faça estas alterações...
Com relação ao timer, experimente desativar o timer no OnClose/OnDestroy do form.
Com relação às threads, possivelmente elas é que estão causando o problema. Você tem certeza que as threads são encerradas quando você fecha seu programa?
// no form principal procedure Tfmenu.FormClose(Sender: TObject; var Action: TCloseAction); var x: Byte; begin if MDIChildCount > 0 then for x := Pred(MDIChildCount) downto 0 do MDIChildren[x].Close; dm.ConexaoGefin.Connected := False; end; // no projeto begin fsplash := Tfsplash.create(Application); ... Application.Run; Application.Terminate; end.
Com relação ao timer, experimente desativar o timer no OnClose/OnDestroy do form.
Com relação às threads, possivelmente elas é que estão causando o problema. Você tem certeza que as threads são encerradas quando você fecha seu programa?
GOSTEI 0