Sistema não fecha !!! fica residente na memória
alo...
preciso de uma grande força...
num sistema que estou desenvolvendo...
tipo, tava tudo normal... agora esta dando um erro estranho...
quando clico pra fechar o sistema...
ele fecha tudo certinho... mas ainda fica residente na memória...
alguem ja passou por isso ?
será que meu DELPHI ta com problema ??? as vezes ele trava quando clico em
´FILE - CLOSE ALL´
ja nao sei mais o q fazer...
ja mudei meu ´project options´
ja tentei colocar no evento ONCLOSE no FPRINCIPAL - um ´application.terminate´ mas nada da certo...
e quando estou editando no delphi... dou um F9, depois que saio do sistema tenho q pressionar ´CTRL + F2´ pra ter os forms de volta e poder COMPILAR o sistema..
caso contrario ele nao aceita sobscrever o que esta em ´ABERTO´ ...
percebi que num FORM: ´FLANCAMENTOS´
quando abro e vou fechar o sistema trava...
try
Application.CreateForm(Tflancamentos, flancamentos);
flancamentos.position := poScreenCenter;
flancamentos.showmodal;
finally
//flancamentos.Free; {aqui esta dando erro, se coloco isso o sistema trava}
end;
com certeza o problema esta nesse form... mas o q fazer ? eu preciso do desgracento !!!
desde ja agradeço pela força
té +
[i:c214d45cfc]Título em maiúsculas editado. Leia as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689&sid=add834b4ed94967502cf2381c38e751a][u:c214d45cfc]Regras de Conduta[/u:c214d45cfc][/url]. (marcelo.c – Moderador)[/i:c214d45cfc]
preciso de uma grande força...
num sistema que estou desenvolvendo...
tipo, tava tudo normal... agora esta dando um erro estranho...
quando clico pra fechar o sistema...
ele fecha tudo certinho... mas ainda fica residente na memória...
alguem ja passou por isso ?
será que meu DELPHI ta com problema ??? as vezes ele trava quando clico em
´FILE - CLOSE ALL´
ja nao sei mais o q fazer...
ja mudei meu ´project options´
ja tentei colocar no evento ONCLOSE no FPRINCIPAL - um ´application.terminate´ mas nada da certo...
e quando estou editando no delphi... dou um F9, depois que saio do sistema tenho q pressionar ´CTRL + F2´ pra ter os forms de volta e poder COMPILAR o sistema..
caso contrario ele nao aceita sobscrever o que esta em ´ABERTO´ ...
percebi que num FORM: ´FLANCAMENTOS´
quando abro e vou fechar o sistema trava...
try
Application.CreateForm(Tflancamentos, flancamentos);
flancamentos.position := poScreenCenter;
flancamentos.showmodal;
finally
//flancamentos.Free; {aqui esta dando erro, se coloco isso o sistema trava}
end;
com certeza o problema esta nesse form... mas o q fazer ? eu preciso do desgracento !!!
desde ja agradeço pela força
té +
[i:c214d45cfc]Título em maiúsculas editado. Leia as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689&sid=add834b4ed94967502cf2381c38e751a][u:c214d45cfc]Regras de Conduta[/u:c214d45cfc][/url]. (marcelo.c – Moderador)[/i:c214d45cfc]
Seven
Curtidas 0
Respostas
Cabelo
08/10/2003
Caro Amigo
Preciso saber como vc cria seus Forms, se ele estão declarados para abrir automaticamente com o projeto faça o seguinte :
No botão ou menu que vc chama um determinado form vc deverá colocar o seguinte :
Application.CreateForm(TForm, Form);
Form.ShowModal;
Form.Release;
estes comandos ira criar o seu form na memória.
Mostrar na tela pelo método Modal (Tipo Mensagem);
Descarregar da memória todo o form;
Não esqueça de Tirar da criação automática os form que serão declarados, indo no menu Projects, item Options, paleta Forms, deixar somente o módulo de dados(se tiver) e o form Principal;
Espero ter ajudado...
Obs : responda o resultado por favor
Té +
Cabelo
Preciso saber como vc cria seus Forms, se ele estão declarados para abrir automaticamente com o projeto faça o seguinte :
No botão ou menu que vc chama um determinado form vc deverá colocar o seguinte :
Application.CreateForm(TForm, Form);
Form.ShowModal;
Form.Release;
estes comandos ira criar o seu form na memória.
Mostrar na tela pelo método Modal (Tipo Mensagem);
Descarregar da memória todo o form;
Não esqueça de Tirar da criação automática os form que serão declarados, indo no menu Projects, item Options, paleta Forms, deixar somente o módulo de dados(se tiver) e o form Principal;
Espero ter ajudado...
Obs : responda o resultado por favor
Té +
Cabelo
GOSTEI 0
Bampavao
08/10/2003
Tente
Action := caFree;
flancamentos := NIL;
Action := caFree;
flancamentos := NIL;
GOSTEI 0
Seven
08/10/2003
amigos...
valeu... mas nao deu certo !!!
tipo,
BAMPAVAO...
o action := caFree
reportou esse erro na hora de compilar: ´[Error] TPrincipal.pas(403): Incompatible types: ´TBasicAction´ and ´TCloseAction´´
cabelo..
os forms nao estao declarados para abrirem automaticamente... tentei o release tb e nao funcinoou :/
e ta exatamente assim:
try
Application.CreateForm(Tflancamentos, flancamentos);
flancamentos.showmodal;
finally
//flancamentos.free;
end;
mesmo assim obrigado ... se tiverem mais alguma ideia..
to precisando muito..
te +
valeu... mas nao deu certo !!!
tipo,
BAMPAVAO...
o action := caFree
reportou esse erro na hora de compilar: ´[Error] TPrincipal.pas(403): Incompatible types: ´TBasicAction´ and ´TCloseAction´´
cabelo..
os forms nao estao declarados para abrirem automaticamente... tentei o release tb e nao funcinoou :/
e ta exatamente assim:
try
Application.CreateForm(Tflancamentos, flancamentos);
flancamentos.showmodal;
finally
//flancamentos.free;
end;
mesmo assim obrigado ... se tiverem mais alguma ideia..
to precisando muito..
te +
GOSTEI 0
Cabelo
08/10/2003
Não use o Try
e no lugar de .free, coloque .release;
e no lugar de .free, coloque .release;
GOSTEI 0
Seven
08/10/2003
blz..
cabelo..
o try eu sempre usei... e nunca tive problema...
tb tentei sem e nao consegui sucesso...
nem o release...
tipo,
a questao eu descobri...
era um QUICKREPORT...
putz... tirei uma copia do sistema e fui apagar componente por componente do form e ir compilando... pra ver onde estava o erro..
e logo de cara o delphi travou quando tentei deletar o QUICKREPORT...
ja desinstalei o COMPOMENTE QUICKREP... reinstalei e o erro continua
assim... depois de desinstalar o componente... consegui remover o QUICKREPORT que estava dando erro.. daí compilei.. .e tudo funcionou perfeitamente.
reinstalei o compontente e quando crio outro QUICKREPORT... fica tudo certo denovo !
soh q vai dar uma canseira pra fazer esse relatorio novamente.
mas blz... vou verificar...
quando conseguir resolver e descobrir exatamente o q ocorrou eu posto aqui.
valeu cabelo_uni e a todos pela força
cabelo..
o try eu sempre usei... e nunca tive problema...
tb tentei sem e nao consegui sucesso...
nem o release...
tipo,
a questao eu descobri...
era um QUICKREPORT...
putz... tirei uma copia do sistema e fui apagar componente por componente do form e ir compilando... pra ver onde estava o erro..
e logo de cara o delphi travou quando tentei deletar o QUICKREPORT...
ja desinstalei o COMPOMENTE QUICKREP... reinstalei e o erro continua
assim... depois de desinstalar o componente... consegui remover o QUICKREPORT que estava dando erro.. daí compilei.. .e tudo funcionou perfeitamente.
reinstalei o compontente e quando crio outro QUICKREPORT... fica tudo certo denovo !
soh q vai dar uma canseira pra fazer esse relatorio novamente.
mas blz... vou verificar...
quando conseguir resolver e descobrir exatamente o q ocorrou eu posto aqui.
valeu cabelo_uni e a todos pela força
GOSTEI 0
Renaldo
08/10/2003
procedure TfrmPrincipal.Pedido1Click(Sender: TObject);
begin
if varPedidos = True then
begin
frmPedidos.BringToFront;
Abort;
end;
frmPedidos:=TfrmPedidos.Create(Application);
frmPedidos.Show;
end;
procedure TfrmPedidos.FormClose(Sender: TObject; var Action: TCloseAction);
begin
varPedidos:=False;
Action:=CaFree;
frmPedidos:=nil;
end;
procedure TfrmPedidos.FormCreate(Sender: TObject);
begin
varPedidos:=True;
end;
É assim que eu uso, a variável global varPedidos é só para saber se a janela está aberta. Estou usando janelas mãe e filho.
Espero ter ajudado.
begin
if varPedidos = True then
begin
frmPedidos.BringToFront;
Abort;
end;
frmPedidos:=TfrmPedidos.Create(Application);
frmPedidos.Show;
end;
procedure TfrmPedidos.FormClose(Sender: TObject; var Action: TCloseAction);
begin
varPedidos:=False;
Action:=CaFree;
frmPedidos:=nil;
end;
procedure TfrmPedidos.FormCreate(Sender: TObject);
begin
varPedidos:=True;
end;
É assim que eu uso, a variável global varPedidos é só para saber se a janela está aberta. Estou usando janelas mãe e filho.
Espero ter ajudado.
GOSTEI 0
Seven
08/10/2003
ronaldo...
legal a sua dica...
pois uso o SHOWMODAL...
acho que da forma q vc falou fica mais profissional...
vou tentar mudar para esse modo de trabalho.
obrigado pela dica...
o outro problema foi resolvido da forma que falei..
depois de muita dor de cabeça e tal...
valeu a todos
té +
legal a sua dica...
pois uso o SHOWMODAL...
acho que da forma q vc falou fica mais profissional...
vou tentar mudar para esse modo de trabalho.
obrigado pela dica...
o outro problema foi resolvido da forma que falei..
depois de muita dor de cabeça e tal...
valeu a todos
té +
GOSTEI 0