Eu, se fosse vc, sempre passaria como Owner de qqr formulário, o Objeto 
Application.
Se fizer isso, você poderá localizar o form dinamicamente, e a Application 
vai cuidar de destruir o objeto em caso de erro.


[]'s

Francisco Thiago de Almeida




----- Original Message ----- 
From: "Eduardo Silva dos Santos" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Monday, October 29, 2007 8:51 AM
Subject: Re: [delphi-br] Re: Existe alguma diferença nestes dois pedaços de 
código? Criando Forms...


Em questão de desempenho não uma Foma A ou B que seja + rapida, o importante
é não deixar o Objeto na memoria quando não mais for utilizar.

Eu particularmente uso essa rotina pra criar/exibir Forms:

procedure ShowForm( TFrm:TFormClass; var Frm );
begin
   try
    if not Assigned( TForm(Frm) ) then
     TForm(Frm) := TFrm.Create( Application );
    TForm(Frm).ShowModal;
   finally
    FreeAndNil( TForm(Frm) );
   end;

end;

para usar:    ShowForm( TFrmCadastro, FrmCadastro );

ja diminue algumas linhas repetidas no sistema;

Em 29/10/07, Fellipe Henrique <[EMAIL PROTECTED]> escreveu:
>
>   Olá Eduardo, desculpe-me, realmente foi erro de digitação, o código está
> igual ao que voce fez mesmo... :o)
>
> Mas queria saber, se existe diferença, qual é o mais rápido, e mais
> indicado
> para usar...
>
> []s
>
> Em 29/10/07, Eduardo Silva dos Santos 
> <[EMAIL PROTECTED]<eduardo.drd%40gmail.com>>
> escreveu:
> >
> > Olá Fellipe, diferença existe pq existe um erro, mas a lógica do código
> > é a
> > mesma.
> >
> > >Código1:
> > > FrmLocalizar := TFrmLocalizar.Create(nil);
> > > try
> > > FrmLocalizar.ShowModal;
> > > finally
> > > FrmLocalizar.Release;
> > > end;
> > >
> > > Código 2:
> > >
> > > Type
> > > tLocalizar = TFrmLocalizar;
> > > (..)
> > >
> > > ButtonClick():
> > > var
> > > vTelaLoc: tLocalizar;
> > > begin
> > > vTelaLoc := vTelaLoc.Create(nil); <<<<<<<<<<<<<< aqui.. tem que ser:
> > vTelaLoc := tLocalizar.Create(nil);
> > > try
> > > vTelaLoc.ShowModal;
> > > finally
> > > vTelaLoc.Release;
> > > end;
> >
> > Em 29/10/07, Fellipe Henrique <[EMAIL PROTECTED] 
> > <fellipeh%40gmail.com><fellipeh%40gmail.com>>
> > escreveu:
> > >
> > > Olá Amigos, alguém poderia me dar uma luz neste problema?
> > >
> > > []s
> > >
> > > Em 26/10/07, Fellipe Henrique 
> > > <[EMAIL 
> > > PROTECTED]<fellipeh%40gmail.com><fellipeh%40gmail.com><fellipeh%40gmail.com>>
> >
> > > escreveu:
> > > >
> > > > Olá amigos, quero criar um tela de localizar, sempre que o usuário
> > clica
> > > > no botão... tenho o FrmLocalizar, e tenho os dois codigos, gostaria
> de
> > > saber
> > > > qual deles é o melhor e o correto de ser usado, se é que há
> diferença
> > > entre
> > > > eles..
> > > >
> > > > Desde já agradeço.
> > > >
> > > > Código1:
> > > > FrmLocalizar := TFrmLocalizar.Create(nil);
> > > > try
> > > > FrmLocalizar.ShowModal;
> > > > finally
> > > > FrmLocalizar.Release;
> > > > end;
> > > >
> > > > Código 2:
> > > >
> > > > Type
> > > > tLocalizar = TFrmLocalizar;
> > > > (..)
> > > >
> > > > ButtonClick():
> > > > var
> > > > vTelaLoc: tLocalizar;
> > > > begin
> > > > vTelaLoc := vTelaLoc.Create(nil);
> > > > try
> > > > vTelaLoc.ShowModal;
> > > > finally
> > > > vTelaLoc.Release;
> > > > end;
> > > >
> > > > --
> > > > _________________________________
> > > > T.·.F.·.A.·.
> > > > Fellipe Henrique
> > > > [EMAIL PROTECTED] <fellipeh%40gmail.com> <fellipeh%40gmail.com>
> <fellipeh%40gmail.com>
> > >
> > > --
> > > _________________________________
> > > T.·.F.·.A.·.
> > > Fellipe Henrique
> > > [EMAIL PROTECTED] <fellipeh%40gmail.com> <fellipeh%40gmail.com>
> <fellipeh%40gmail.com>
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > .......................................................
> > Eduardo Silva dos Santos
> > DRD Sistemas.
> > (27) 3218-4201
> > MSN: [EMAIL PROTECTED] <eduardo.drd%40gmail.com> <
> eduardo.drd%40gmail.com>
> > Site: http://www.drdsistemas.com/
> > .......................................................
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> _________________________________
> T.·.F.·.A.·.
> Fellipe Henrique
> [EMAIL PROTECTED] <fellipeh%40gmail.com>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>



-- 
.......................................................
Eduardo Silva dos Santos
DRD Sistemas.
(27) 3218-4201
MSN: [EMAIL PROTECTED]
Site: http://www.drdsistemas.com/
.......................................................


[As partes desta mensagem que não continham texto foram removidas]



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

Links do Yahoo! Grupos


Responder a