Olá Walter e pessoal, 

já fiz muitos testes sobre o assunto e as minhas conclusões foram:

Em um executável (sem utilizar BPL)

1) se não houver nenhuma referencia a alguma função contida na unit, o
código compilado não é incluído no executável, mesmo que a unit esteja
no uses.

2) entretanto se pelo menos uma função for utilizada, a unit inteira
compilada é adicionada ao executável. Uma das utilidades da Unit é
justamente permitir que o programador decida qual será a granularidade
 dos seus programas.

Em uma BPL (load dinâmico):

1) Basta haver referência no uses que a BPL onde se encontra a unit
será carregada, mesmo que nenhuma função/variável seja referenciada.

Por isso é fundamental que, quando se trabalha com load dinâmico, se
modele corretamente em que BPL cada unit irá ficar.

Uma falha destas bibliotecas tipo Infopower, LMD, Report Builder, etc
está justamente que eles não se preocupam com quem trabalha com BPLs
dinâmicas e fazem uma BPL monstruosa com quinhentas coisas que vc não
vai usar e terá que carregar no seu programa.

Fala Bruno (Codegear): o que eu falei está certo?

Um abraço,
Josir.


--- Em delphi-br@yahoogrupos.com.br, "Walter Chagas Junior \(BOL\)"
<[EMAIL PROTECTED]> escreveu
>
> Gente,
> 
> Até aonde sei (O pessoal da CG pode confirmar isto), aquelas units 
> declaradas, que ficam lá na clausulá uses, servem apenas para
informar ao 
> compilador aonde estão as rotinas que estão na unit que está sendo 
> compilada. Ele não pega todo aquele conteúdo lá e embute no
executável não. 
> Se fosse assim, imaginem o tamanho que ficaria um Exe final de um
programa 
> feito no Delphi.
> 
> Ele pega apenas as rotinas que o código que está sendo compilado
precisa. Se 
> não tiver nada que interesse lá naquela unit declarada, ele ignora a
mesma. 
> Então deixar lá ou não, não faz diferença alguma.
> 
> Mas vamos ver o que o pessoal da CG nos diz.
> 
> []s
> 
> 
> 
> Walter Alves Chagas Junior
> Belo Horizonte - MG - Brazil
> [EMAIL PROTECTED]
> http://www.geocities.com/SiliconValley/Bay/1058
> http://delphiatcorporerm.blogspot.com
> MSN: [EMAIL PROTECTED]
> SKYPE: WalterChagasJr
> 
> 
> 
> 
> ----- Original Message ----- 
> From: "Adriano Santos (Yahoo)" <[EMAIL PROTECTED]>
> To: <delphi-br@yahoogrupos.com.br>
> Sent: Thursday, April 03, 2008 6:20 PM
> Subject: Re: [delphi-br] Units não usadas
> 
> 
> Puts, é esse mesmo. Só tem que tem um problema.
> Meu projeto na empresa é enorme, tem .pas pra caramba. Tentei rodar o
> Uses Cleaner nele e esquece, demora pra dedel e trava. Nem consegui
rodar.
> Alguém usa no dia a dia esse esquema?
> 
> -- 
> Adriano Santos
> -------------------------------------------------------------
> Editor Técnico Revista ClubeDelphi
> http://www.delphitodelphi.blogspot.com
> http://www.devmedia.com.br
> http://www.devmedia.com.br/clubedelphi/pagina.asp
> 
> 
> 
> 
> Eduardo Silva dos Santos respondeu:
> >
> > o CnPack http://www.cnpack.org/index.php?lang=en
> > <http://www.cnpack.org/index.php?lang=en> tem um wizard que faz isso.
> >
> > chama-se Uses Cleaner.
> >
> > na verdade o CnPack tem muita coisa, o bom é que da pra desativar oque
> > você
> > não for usar.
> >
> > o impacto dele no desempenho do Delphi é mínino, é claro que isso é
> > diretamente proporcional e quantidade de opções ativas.
> >
> > vale a pena conferir.
> >
> > Em 01/04/08, Vinicius Santos - MSI <[EMAIL PROTECTED]
> > <mailto:vinicius%40msisolucoes.com.br>> escreveu:
> > >
> > > Pessoal, alguém sabe de algum plug-in, que apaga as uses não usadas
> > > dentro de uma Unit.
> > > Por exemplo, eu não chamo nenhuma função da Dialogs.pas, não faz
sentido
> > > declará-la, queria um programa para apagar essas Unit's não usadas.
> > Isso é
> > > muito útil na construção de componentes, alguém se arrisca ?
> > >
> > > Vinicius dos Santos
> > > Analista de Desenvolvimento Júnior
> > > MSI SOLUÇÕES
> > > Av. Dr. Altino Arantes, 131 Sala 145 - 146 Centro - Ourinhos/Sp
- Brasil
> > > Fone/Fax: +55 (14) 3324-8181 www.msisolucoes.com.br
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > -- 
> > .......................................................
> > Eduardo Silva dos Santos
> > DRD Sistemas.
> > (27) 3218-4201
> > MSN: [EMAIL PROTECTED] <mailto:eduardo.drd%40gmail.com>
> > Site: http://www.drdsistemas.com/ <http://www.drdsistemas.com/>
> > .......................................................
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> 
> 
> 
> 
> __________ Informação do ESET NOD32 Antivirus, versão da vacina 3001 
> (20080404) __________
> 
> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
> 
> http://www.eset.com
>


Responder a