Formulario que não fica aberto
Olá galera,
Estou desenvolvendo uma aplicação, nela tenho alguns formularios, em determinado momento percebi que utilizaria muitos forms e a aplicação poderia demorar muito para iniciar por isso coloquei todos os forms (menos o principal e o data module) para serem criados em runtime.
Inseri o seguinte código para cria-los em tempo de execução apartir do menu do formulario principal:
procedure TFrmPrincipal.Produtos1Click(Sender: TObject);
begin
Application.CreateForm(TFrmProdutos, FrmProdutos);
FrmProdutos.show;
FrmProdutos.Free;
end;
Inseri o mesmso codigo em todos os formularios mudando apenas o nome do form. E todos os formularios são abertos de forma correta sem nehum erro, apenas o formulario de produtos apresenta o seguinte erro:
Quando clico no menu para ele abrir vejo o formulario abrir e fechar em fração de segundos, ele não para aberto, e o engraçado é que todos os outros forms funcionam normalmente.
Alguem poderia me dizer porque isso acontece e como solucioinar esse problema?
Uso o Delphi 7 e como sistema operacional o Windows XP.
Agradeço desde já a atenção de todos vocês.
____________________________________________________________________
Vi na linguagem de programação uma companheira para meus momentos de solidão...
Estou desenvolvendo uma aplicação, nela tenho alguns formularios, em determinado momento percebi que utilizaria muitos forms e a aplicação poderia demorar muito para iniciar por isso coloquei todos os forms (menos o principal e o data module) para serem criados em runtime.
Inseri o seguinte código para cria-los em tempo de execução apartir do menu do formulario principal:
procedure TFrmPrincipal.Produtos1Click(Sender: TObject);
begin
Application.CreateForm(TFrmProdutos, FrmProdutos);
FrmProdutos.show;
FrmProdutos.Free;
end;
Inseri o mesmso codigo em todos os formularios mudando apenas o nome do form. E todos os formularios são abertos de forma correta sem nehum erro, apenas o formulario de produtos apresenta o seguinte erro:
Quando clico no menu para ele abrir vejo o formulario abrir e fechar em fração de segundos, ele não para aberto, e o engraçado é que todos os outros forms funcionam normalmente.
Alguem poderia me dizer porque isso acontece e como solucioinar esse problema?
Uso o Delphi 7 e como sistema operacional o Windows XP.
Agradeço desde já a atenção de todos vocês.
____________________________________________________________________
Vi na linguagem de programação uma companheira para meus momentos de solidão...
Flavia_mococa
Curtidas 0
Respostas
Lucas Silva
04/03/2004
o Free você dá quando vai fechar o form...
experimente tirar esta linha
experimente tirar esta linha
FrmProdutos.Free;
GOSTEI 0
Otto
04/03/2004
oi flavinha, quanto tempo, ne??
sim,, mas voltando ao assunto,
ja tentou colocar um showmodal ao invez do form1.show?
tenta ai, qualquer coisa ce fala
t+
sim,, mas voltando ao assunto,
ja tentou colocar um showmodal ao invez do form1.show?
tenta ai, qualquer coisa ce fala
t+
GOSTEI 0
Flavia_mococa
04/03/2004
Oi Otto, quanto tempo mesmo, estava com saudades .... :D
Oi Lucas, tudo bem?
Galera obrigada por me ajudarem neste tópico, valeu mesmo.
Como tenho muitos form´s na minha aplicação estava utilizando a linha:
FrmProdutos.Free;
para liberar a memoria apos fechar o formulario e deixa-lo um pouco mais leve. Tirando esta linha a aplicação rodou perfeitamente, porem um pouco lenta. Entao eu inseri novamente esta linha de código e mudei a forma de chamar o form de show para showmodal e funcionou da forma que eu queria.
Voces foram 10 comigo.
:P :wink:
Beijos, ate mais
Oi Lucas, tudo bem?
Galera obrigada por me ajudarem neste tópico, valeu mesmo.
Como tenho muitos form´s na minha aplicação estava utilizando a linha:
FrmProdutos.Free;
para liberar a memoria apos fechar o formulario e deixa-lo um pouco mais leve. Tirando esta linha a aplicação rodou perfeitamente, porem um pouco lenta. Entao eu inseri novamente esta linha de código e mudei a forma de chamar o form de show para showmodal e funcionou da forma que eu queria.
Voces foram 10 comigo.
:P :wink:
Beijos, ate mais
GOSTEI 0