Formulario que não fica aberto

Delphi

04/03/2004

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...


Flavia_mococa

Flavia_mococa

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

04/03/2004

o Free você dá quando vai fechar o form...

experimente tirar esta linha
FrmProdutos.Free; 



GOSTEI 0
Otto

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+


GOSTEI 0
Flavia_mococa

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


GOSTEI 0
POSTAR