Aplicação não sai da mémoria do windows
Boa tarde!
Tenho um aplicativo feito em Delphi 2010 e oracle 10g, acontece que quando o usuário sai da aplicação ela
fica ainda na memória do windows XP e fica conectado no Oracle.
Se o usuário entrar e sair 3 vezes fica 3 vezes na memória e no Oracle.
Como faço para encerrar corretamente a conexão com o Oracle e sair da memória.
Tenho um aplicativo feito em Delphi 2010 e oracle 10g, acontece que quando o usuário sai da aplicação ela
fica ainda na memória do windows XP e fica conectado no Oracle.
Se o usuário entrar e sair 3 vezes fica 3 vezes na memória e no Oracle.
Como faço para encerrar corretamente a conexão com o Oracle e sair da memória.
Henrique Rocha
Curtidas 0
Respostas
Wesley Yamazack
12/05/2010
Olá amigo,
O que você pode fazer é na hora que for fechar a tua aplicação, antes disso você desconecta a sua conexão, sqlconnection1.Close;
Quanto ao formulário esta ficando na memória, isso é muito complicado pois pode ser que você na hora de criar um formulário e ao fechar o mesmo, pode não estar destruindo ele, exemplo :
try
Form1 := TForm1.Create(Self);
Form1.ShowModal;
finally
FreeAndNil(Form1);
end;
Com isso você garante que o seu formulário seja destruído mesmo que aconteça algum erro na hora de criar o mesmo, e na hora de fechar este. Como você costuma criar seus formulários ? Como você costuma destruir o mesmos?
Um abraço
Wesley Y
O que você pode fazer é na hora que for fechar a tua aplicação, antes disso você desconecta a sua conexão, sqlconnection1.Close;
Quanto ao formulário esta ficando na memória, isso é muito complicado pois pode ser que você na hora de criar um formulário e ao fechar o mesmo, pode não estar destruindo ele, exemplo :
try
Form1 := TForm1.Create(Self);
Form1.ShowModal;
finally
FreeAndNil(Form1);
end;
Com isso você garante que o seu formulário seja destruído mesmo que aconteça algum erro na hora de criar o mesmo, e na hora de fechar este. Como você costuma criar seus formulários ? Como você costuma destruir o mesmos?
Um abraço
Wesley Y
GOSTEI 0
Henrique Rocha
12/05/2010
Boa tarde!
Faço assim:
frmPesquisaProcesso := TfrmPesquisaProcesso.create(self);
frmPesquisaProcesso.showmodal;
frmPesquisaProcesso.release;
Tentei como no exemplo que você mandou, mas dá erro.
Henrique
Faço assim:
frmPesquisaProcesso := TfrmPesquisaProcesso.create(self);
frmPesquisaProcesso.showmodal;
frmPesquisaProcesso.release;
Tentei como no exemplo que você mandou, mas dá erro.
Henrique
GOSTEI 0
Wesley Yamazack
12/05/2010
Olá amigo,
Você fez isso :
try
frmPesquisaProcesso := TfrmPesquisaProcesso.create(self);
frmPesquisaProcesso.showmodal;
finally
FreeAndNil(frmPesquisaProcesso);
end;
E da erro ? mas que erro ?
Att,
Wesley Y
Você fez isso :
try
frmPesquisaProcesso := TfrmPesquisaProcesso.create(self);
frmPesquisaProcesso.showmodal;
finally
FreeAndNil(frmPesquisaProcesso);
end;
E da erro ? mas que erro ?
Att,
Wesley Y
GOSTEI 0
Wesley Yamazack
12/05/2010
Olá amigo,
Qual erro esta acontecendo ?
Att,
Wesley Y
Qual erro esta acontecendo ?
Att,
Wesley Y
GOSTEI 0