O que devo fazer para envitar que o EXE, cresça muito..
Estou com um projeto que contem algumas telas.
Mas o executavel esta quase atigindo 10mb.
Gostaria de receber dicas de como evitar que o executal cresça muito, algo tipo:
*tipos de compilação
*declarações de form2, variaveis;
*tipos de componetes
Mas o executavel esta quase atigindo 10mb.
Gostaria de receber dicas de como evitar que o executal cresça muito, algo tipo:
*tipos de compilação
*declarações de form2, variaveis;
*tipos de componetes
Dimmy
Curtidas 0
Respostas
Lucas Silva
07/05/2004
Programação orientada a objetos é uma boa coisa....
GOSTEI 0
Nildo
07/05/2004
Passa o UPX nele pra ver o que acontece
GOSTEI 0
Emmont
07/05/2004
tenho um otimo progrmaminha para compactar o exe, meus projetos so de 3 mbs e fica com no maxixo 850 kb
se vc quiser me escreve eomonteiro@yahoo.com.br
se vc quiser me escreve eomonteiro@yahoo.com.br
GOSTEI 0
Nildo
07/05/2004
tenho um otimo progrmaminha para compactar o exe, meus projetos so de 3 mbs e fica com no maxixo 850 kb
se vc quiser me escreve eomonteiro@yahoo.com.br
Porque não nos diz o nome?
GOSTEI 0
Nigro
07/05/2004
Muitas imagens dentro do sistema fazem, o exe fica pesado, mas se você tem muita preocupação com o layout e as imagens incorporadas no seu sistema não realmente necessárias.
Faça o seguinte:
Tente carregá-las em tempo de execução.
Não use uma resolução muito alta
Mas se esse não for o seu caso, dê uma olhada de como se coloca o UPX no menu do Delphi, assim fica mais fácil de compatar o executável, creio que essa dica quem postou aqui foi o Nildo, eu uso e funciona muito bem.
Faça o seguinte:
Tente carregá-las em tempo de execução.
Não use uma resolução muito alta
Mas se esse não for o seu caso, dê uma olhada de como se coloca o UPX no menu do Delphi, assim fica mais fácil de compatar o executável, creio que essa dica quem postou aqui foi o Nildo, eu uso e funciona muito bem.
GOSTEI 0
Nildo
07/05/2004
creio que essa dica quem postou aqui foi o Nildo, eu uso e funciona muito bem.
Fui eu sim! Daí é só eu apertar ( ALT+T -> X ) e ele já abre o UPX compactando seu projeto. Só não lembro o Link exato para a dica, mas pesquise no fórum por autor NILDO e mensagem contendo UPX
GOSTEI 0
Cebikyn
07/05/2004
Eu utilizo o UPX. Coloquei ele até no menu Tools. Faz assim:
Tools -> Configure Tools -> Add ->
Title: ´Compactar´
Program: ´c:\Localizacao Do Seu UPX\UPX.exe´
WorkDir:
Parameters: ´[b:96d19eb71d]--best --crp-ms=99999[/b:96d19eb71d] $EXENAME´
Dae ele vai ficar lá no menu TOOLS
O trecho em negrito foi alterado por mim (original: [b:96d19eb71d]-9[/b:96d19eb71d]), para melhorar a compressão.
GOSTEI 0
Danilorsa
07/05/2004
Se vocês tem Norton Anti-Vírus Instalado façam o seguinte:
c:\upx\upx -9 Executavel.exe
Este comando compacta... Porém tentem abrir o programa com o Auto-Protect ativado... Ele trava quase que totalmente sua máquina...
Não sei com outros parâmetros...
Cuidado com o UPX
c:\upx\upx -9 Executavel.exe
Este comando compacta... Porém tentem abrir o programa com o Auto-Protect ativado... Ele trava quase que totalmente sua máquina...
Não sei com outros parâmetros...
Cuidado com o UPX
GOSTEI 0
Targinosilveira
07/05/2004
Nildo, essa versão que você esta usasndo UPX, é DOS ou For Windows ?
Pois estou pensando em utilizar a dica que você nos repassou.
Anteciapadamente agradeço qualquer resposta.
Pois estou pensando em utilizar a dica que você nos repassou.
Anteciapadamente agradeço qualquer resposta.
GOSTEI 0
Motta
07/05/2004
o que fazem exatamente estes compactadores ?
que lógica usam ?
alguns artigos correlatos
http://www.drbob42.com/articles/index_d.htm
http://www.drbob42.com/delphi/perform.htm
http://community.borland.com/article/0,1410,27178,00.html
que lógica usam ?
alguns artigos correlatos
http://www.drbob42.com/articles/index_d.htm
http://www.drbob42.com/delphi/perform.htm
http://community.borland.com/article/0,1410,27178,00.html
GOSTEI 0
Nildo
07/05/2004
Olá!
o que eu uso é o ´Win32 console version´.
o que eu uso é o ´Win32 console version´.
GOSTEI 0
Cebikyn
07/05/2004
o que fazem exatamente estes compactadores ?
Simplesmente compactam trechos do executável e alteram o header do mesmo, de forma que quando ele é chamado, todo o conteúdo do exe é descompactado para a memória RAM e executado normalmente.
Além disso, se configurados para tal, removem trechos desnecessários, como a seção de realocação do PE (executável).
GOSTEI 0
Nildo
07/05/2004
resumindo: Carrega mais rápido, só que exisge mais memória ram para tal ação.
GOSTEI 0
Cebikyn
07/05/2004
Claro que não carrega mais rápido, tem o tempo de descompactação, se bem que este é bem pequeno, então fica a mesma coisa.
GOSTEI 0
Nildo
07/05/2004
Claro que não carrega mais rápido, tem o tempo de descompactação, se bem que este é bem pequeno, então fica a mesma coisa.
Não me lembro exatamente onde eu tinha lido isso, mas carrega mais rápido sim. Tinha até uma expecificação sobre esse assunto. Vou tentar achar e coloco aqui o link
GOSTEI 0
Motta
07/05/2004
tem entao que fazer um teste de perfomance antes.
se bem que boa parte do .exe pode ser diminuido por boas praticas de programacao, reutilizacao etc.
separar em módulos tb
criar objetos em run-time no delphi dá algum ganho significativo ?
se bem que boa parte do .exe pode ser diminuido por boas praticas de programacao, reutilizacao etc.
separar em módulos tb
criar objetos em run-time no delphi dá algum ganho significativo ?
GOSTEI 0
Nildo
07/05/2004
criar objetos em run-time no delphi dá algum ganho significativo ?
Dá na mesma... afinal você já vai ter compilado a Unit deste objeto junto ao executável... Só vai diminuir o DFM mas vai aumentar seu código.
GOSTEI 0
Motta
07/05/2004
mas em geral são poucas linhas para ser criar din.
não estou afirmando mas acho que criar objetos em run-time dá algum ganho.
não estou afirmando mas acho que criar objetos em run-time dá algum ganho.
GOSTEI 0
Nildo
07/05/2004
mas em geral são poucas linhas para ser criar din.
não estou afirmando mas acho que criar objetos em run-time dá algum ganho.
São poucas linhas, mas lembre-se de que o compilador transforma seu código para Assembler e depois codifica. Nessa transformação seu código aumenta consideravelmente. É que o Delphi simplifica muita coisa...
GOSTEI 0
Motta
07/05/2004
Muita gente partia para a solução de utilizar ,com o perdão da má palavra dll´s :-)) , mas pessoalmente não gosto da solução.
Sistemas complexos tendem a ter executaveis grandes, mesmo quando bem programados, é o preço a ser pagar pela complexidade.
Sistemas complexos tendem a ter executaveis grandes, mesmo quando bem programados, é o preço a ser pagar pela complexidade.
GOSTEI 0
Nildo
07/05/2004
Eu acho que hoje em dia não há necessidade de um executável pequeno. Claro, se puder evitar EXEs grandes é melhor. Mas esse não é um grande problema
GOSTEI 0
Marcosalex
07/05/2004
Eu acho que hoje em dia não há necessidade de um executável pequeno. Claro, se puder evitar EXEs grandes é melhor. Mas esse não é um grande problema
A melhor solução para sistemas complexos é a componentização, e é isso que os grandes softwares de hoje fazem. Seja por bibliotecas dll, seja por componentes COM+ ou CORBA ou por WebServices.
Se voce passar o seu sistema para três camadas, o executável cliente vai diminuir consideravelmente. E se usar componentes, voce vai precisar atualizar ou somente o componente ou somente o executavel, ganhando em tamanho, consumo de memoria (o componente só é instanciado se for realmente necessário utilizá-lo) e velocidade, além de diminuir extensivamente o tráfego na rede.
A maior dificuldade é que a maioria dos analistas estão acostumados a pensar da maneira clássica, com um só executável realizando todas as tarefas.
GOSTEI 0
Motta
07/05/2004
Marcos, a questão da componentização e que o gerenciamento disto é um pouco mais complexo.
Esta discussão é interressante, poderiamos estende-la.
Esta discussão é interressante, poderiamos estende-la.
GOSTEI 0