Demian,

  Em algum lugar, que não me lembro onde (deve ter sido alguma palestra da
Borland), desaconselhando o uso de Casting Forçado. Se eu me lembro bem tem
alguma coisa a ver com o Delphi 8/2005 e .NET, mas não lembro ao certo.
Alguém poderia dar uma luz sobre o assunto? (quero lembrar que eu posso
estar me confundindo)

Gustavo Fujita

-----Mensagem original-----
De: Demian Lessa [mailto:[EMAIL PROTECTED] 
Enviada em: segunda-feira, 14 de fevereiro de 2005 10:39
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Re: TObjectList, como obter objetos
desejados???


Sem querer causar controvérsias, gostaria de comentar sobre

   if (o is TEdit) then
     e := o as TEdit;

O objetivo do operador "AS" é fazer um typecast com uma verificação de 
tipo antes. Esse operador gera uma exceção caso os tipos do cast não 
sejam compatíveis. Se você já verificou que os tipos são compatíveis e 
usa o "AS" você acaba verificando a compatibilidade de tipos DUAS vezes 
desnecessariamente. Então, o melhor seria

   if (o is TEdit) then
     e := TEdit(o);

ou, caso você deseje que a exceção chegue até você

   e := (o as TEdit);


Cordialmente,

Demian Lessa
Salvador - Brasil

Gustavo Fujita wrote:
> Filipe,
> 
> Claro que é possível fazer esse tipo de TypeCast no Delphi. Ficaria, de
uma
> maneira elegante, assim:
> 
> var
>   o: TObject;
>   e: TEdit;
> begin
>   o := objectLista[0];
>   if (o is TEdit) then
>     e := o as TEdit;
> end;
> 
> 
> Gustavo Fujita


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




 




-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.8.7 - Release Date: 10/2/2005
 

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.8.7 - Release Date: 10/2/2005
 



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