Positivo. Ficou perfeito. Abaixo o código:
if Application.FindComponent('fmEmpresa') = nil then try fmEmpresa:= TfmEmpresa.Create(Application); fmEmpresa.WindowState:= wsMaximized; except ShowMessage('Não foi possível criar formulário'); Abort; end else fmEmpresa.BringToFront; Assim não preciso usar form:= nil para finalizar o fechamento e posso usar herança no método de fechamento. Obrigado a todos pela ajuda, Moacir. --- Em delphi-br@yahoogrupos.com.br, "eduardo.sic" <[EMAIL PROTECTED]> escreveu > > para controlar a criação de varios forms eu uso assim: > > if Application.FindComponent( 'FrmMeuForm' ) = nil then > Application.CreateForm(TFrmMeuForm,FrmMeuForm); > FrmMeuForm.Show; > > > ================= > >De:"moacirponti" <[EMAIL PROTECTED]> > >Para:delphi-br@yahoogrupos.com.br > >Assunto:[delphi-br] Re: Abrir MDIForm já criado > > > > > > > > Entendi. Fiz o que disse e funcionou bem. O > >estranho é que após a > >criação de um form MDIChild e seu fechamento > >(Action:= caFree) - para > >que não fique aparecendo na tela, o objeto não > >fica mais nulo (ou > >seja form é <> nil). > > Uma coisa que aconteceu é que agora posso > >criar muitos forms iguais > >que ficam todos sob o MDIForm. Como controlar > >para que não seja > >criado mais de um form igual? > > > >--- Em delphi-br@yahoogrupos.com.br, "Marcelo > >Silva" <[EMAIL PROTECTED]> > >escreveu > >> Quando vc cria uma aplicação MDI esta deve ser > >composta de um > >formulario fsMDIForm (como formulario principal) > >e os outros que vao > >abrir dentro dele devem(nao necessariamente) ser > >fsMDIChild. > >> > >> Na criação dos MDIChilds só devem ir o > >comando: > >> Application.CreateForm(TfmForm, fmForm); > >> Não sendo necessário o ".Show" pois os > >MDIChilds ficam sempre > >visiveis... > >> > >> Voce não pode fazer uma aplicação com mais de > >um Form fsMDIForm ou > >seja, um é MDIForm e os outros devem ser > >fsMDIChild ou fsNormal ou > >fsStayOnTop > >> > >> Se form fsStayOnTop este nao deve ser > >levantado com .Show ou > >ShowModal pois ele é sempre visivel > >> Já os outros fsNormal ou fsStayOnTop podem ser > >.Show > >ou .ShowModal... > >> > >> > >> Marcelo Silva > >> Cel. 11 9693-4251 > >> ICQ - 49224093 > >> MSN [EMAIL PROTECTED] > >> > >> > >> ----- Original Message ----- > >> From: moacirponti > >> To: delphi-br@yahoogrupos.com.br > >> Sent: Monday, April 18, 2005 2:18 PM > >> Subject: [delphi-br] Re: Abrir MDIForm já > >criado > >> > >> > >> > >> > >> Você poderia descrever exatamente o que > >coloca em "// Aqui vc > >faz > >> outras coisas"? > >> Tentei o BringToFront, bem como um > >Visible:= True antes do Show, > >> mas continua dando Abstract Error quando chamo > >o "Show". > >> > >> Moacir. > >> > >> > >> --- Em delphi-br@yahoogrupos.com.br, "Marcelo > >Silva" <[EMAIL PROTECTED]> > >> escreveu > >> > if (fmForm = nil) then begin > >> > Application.CreateForm(TfmForm, fmForm); > >> > // Aqui vc faz outras coisas > >> > end else fmForm.BringToFront; > >> > > >> > > >> > Formulários MDIChild não podem ficar Visible > >= false. > >> > > >> > > >> > Marcelo Silva > >> > Cel. 11 9693-4251 > >> > ICQ - 49224093 > >> > MSN [EMAIL PROTECTED] > >> > ----- Original Message ----- > >> > From: moacirponti > >> > To: delphi-br@yahoogrupos.com.br > >> > Sent: Monday, April 18, 2005 1:38 PM > >> > Subject: [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/messa > >ges > >> > > >> > Para falar com o moderador, envie um > >e-mail para: > >> > [EMAIL PROTECTED] ou > >[EMAIL PROTECTED] > >> > > >> > > >> > > >> > Yahoo! Grupos, um serviço oferecido > >por: > >> > PUBLICIDADE > >> > > >> > > >> > > >> > > >> > > >------------------------------------------------ > >------------------ > >-- > >> ---------- > >> > Links do Yahoo! Grupos > >> > > >> > a.. Para visitar o site do seu grupo na > >web, acesse: > >> > > >http://br.groups.yahoo.com/group/delphi-br/ > >> > > >> > b.. Para sair deste grupo, envie um > >e-mail para: > >> > [EMAIL PROTECTED] > >> > > >> > c.. O uso que você faz do Yahoo! Grupos > >está sujeito aos > >Termos > >> do Serviço do Yahoo!. > >> > > >> > > >> > > >> > > >> > > >------------------------------------------------ > >------------------ > >-- > >> ---------- > >> > > >> > > >> > No virus found in this incoming message. > >> > Checked by AVG Anti-Virus. > >> > Version: 7.0.308 / Virus Database: > >266.9.11 - Release Date: > >> 14/04/2005 > >> > > >> > ---------- > >> > > >> > No virus found in this outgoing message. > >> > Checked by AVG Anti-Virus. > >> > Version: 7.0.308 / Virus Database: 266.9.11 > >- Release Date: > >> 14/04/2005 > >> > > >> > > >> > [As partes desta mensagem que não continham > >texto foram removidas] > >> > >> > >> > >> > >> > >> -- > >> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER > >ESTA MENSAGEM >>>>> > >> > >> Para ver as mensagens antigas, acesse: > >> > >http://br.groups.yahoo.com/group/delphi-br/messa > >ges > >> > >> Para falar com o moderador, envie um e-mail > >para: > >> [EMAIL PROTECTED] ou > >[EMAIL PROTECTED] > >> > >> > >> > >> Yahoo! Grupos, um serviço oferecido por: > >> > >> São Paulo Rio de Janeiro Curitiba Porto > >Alegre Belo Horizonte > >Brasília > >> > >> > >> > >> > >> > >> 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 Termos do > >Serviço do Yahoo!. > >> > >> > >> > >> > >> > >> No virus found in this incoming message. > >> Checked by AVG Anti-Virus. > >> Version: 7.0.308 / Virus Database: 266.9.11 - > >Release Date: > >14/04/2005 > >> ---------- > >> > >> No virus found in this outgoing message. > >> Checked by AVG Anti-Virus. > >> Version: 7.0.308 / Virus Database: 266.9.11 - > >Release Date: > >14/04/2005 > >> > >> > >> [As partes desta mensagem que não continham > >texto foram removidas] > > > > > > > > > > > >-- > ><<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA > >MENSAGEM >>>>> > > > >Para ver as mensagens antigas, acesse: > > > >http://br.groups.yahoo.com/group/delphi-br/messa > >ges > > > >Para falar com o moderador, envie um e-mail > >para: > > [EMAIL PROTECTED] ou > >[EMAIL PROTECTED] > > > >Links do Yahoo! Grupos > > > > http://br.groups.yahoo.com/group/delphi-br/ > > > > > > http://br.yahoo.com/info/utos.html > > > > > > ____________________________________________________________________ -- <<<<< 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