no botão que chama a aplicação coloque desta forma

if Form = Nil Then
Application.CreatForm(Tform, Form);

no Close do do form coloque

Action := caFree;
Form := Nil;

se tiver um botão para chamar o fechamento coloque

form.close;


Veja se funciona.

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Charlles Ferdinand
Enviada em: segunda-feira, 18 de abril de 2005 13:51
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Abrir MDIForm já criado



Quando fechar o form tente com o seguinte comando.
 Action := caFree;
 form.close;



-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de moacirponti
Enviada em: segunda-feira, 18 de abril de 2005 13:39
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Abrir MDIForm já criado




Olá.

   Estou desenvolvendo uma aplicação com forms no estilo MDI. Todos
os MDI deixo em Available Forms (e não em Auto-create). Quando tenho
de abrir um form, geralmente faço assim:

  // Início do código
   try
      fmForm.Show;
   except
      fmForm:= TfmForm.Create(Application);
      try
         fmForm.Show;
      except
         ShowMessage('Formulário não foi criado');
         Abort;
      end;
   end;
  // Fim do código


  Mas acho ruim porque toda vez ele gera um erro para depois criar o
form. Tem alguma forma de saber se já foi criado e apenas exibi-lo?
  Já tentei usar um (if fmForm <> nil), funciona bem da primeira vez
(ele percebe que é nil e cria o form), mas quando fecho e abro o
mesmo formulário, ele dá a mensagem: "Abstract Error" ou um Access
Violation.

  Obrigado,

  Moacir.





--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos










--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos










-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a