metodos para deixar um projeto (.exe) menor
caros colegas, estou iniciando um projeto que tende a ser grande. sabe-se que quantos mais formularios e mais linhas de código em um projeto, maior o tamanho do executavel.
Gostaria de saber se nos seus projetos voces criam todos os formularios em tempo de projeto, ou voces usam algum metodo para diminuir a quantidade de formularios e código tambem dos seus projetos, como por exemplo:
criar apenas um formulario(filho) padrão para todas as consultas, incumbindo ao formulário(pai) todo o código para que o formulário de consulta funcione para o devido fim.
não sei se isso é viajem da minha cabeça, mas gostaria de compartihar dessa duvida, para nao iniciar um projeto desse porte da maneira menos indicada e ter que refazer todo o trabalho lá na frente...
abraços!
Gostaria de saber se nos seus projetos voces criam todos os formularios em tempo de projeto, ou voces usam algum metodo para diminuir a quantidade de formularios e código tambem dos seus projetos, como por exemplo:
criar apenas um formulario(filho) padrão para todas as consultas, incumbindo ao formulário(pai) todo o código para que o formulário de consulta funcione para o devido fim.
não sei se isso é viajem da minha cabeça, mas gostaria de compartihar dessa duvida, para nao iniciar um projeto desse porte da maneira menos indicada e ter que refazer todo o trabalho lá na frente...
abraços!
Mahdak
Curtidas 0
Respostas
Paulocesar1301
17/10/2006
Eu sou muito amigo de minhas DLLs... inserindo funções chaves em uma mestre e casos específicos em separado (seu form de resultados de consulta, por exemplo).
Não sei se é uma prática muito boa, mas eu procuro colocar o maior número possível de funções em DLL separada deixando o executável somente com o indispensável.
Com uma boa documentação tanto no código como externa, terás uma fácil administração não importando o tamanho do projeto.
Só lembre-se de geralizar ao máximo suas DLLs, tentando tratar quaisquer possíveis situações e atualizando-as quanto às necessidades durante o desenvolvimento, assim ampliará as capacidades de atualizações futuras de seu sistema.
Qualquer coisa Grite... A galera do fórum ajudará sempre que possível.
Abraços e Bons Códigos :wink:
Não sei se é uma prática muito boa, mas eu procuro colocar o maior número possível de funções em DLL separada deixando o executável somente com o indispensável.
Com uma boa documentação tanto no código como externa, terás uma fácil administração não importando o tamanho do projeto.
Só lembre-se de geralizar ao máximo suas DLLs, tentando tratar quaisquer possíveis situações e atualizando-as quanto às necessidades durante o desenvolvimento, assim ampliará as capacidades de atualizações futuras de seu sistema.
Qualquer coisa Grite... A galera do fórum ajudará sempre que possível.
Abraços e Bons Códigos :wink:
GOSTEI 0
Mvicente
17/10/2006
Bom dia amigo...
Uma outra prática que funciona muito bem, seria o uso de bpl´s, ou seja, vc cria pacotes, podendo ser estes pacotes separados por módulos tipo : pkgVendas, pkgCompras etc....Seu exe ficará minúsculo e seu sistema ficará muito mais fácil de ser atualizado...
Abraço...
Marcelo Vicente
Uma outra prática que funciona muito bem, seria o uso de bpl´s, ou seja, vc cria pacotes, podendo ser estes pacotes separados por módulos tipo : pkgVendas, pkgCompras etc....Seu exe ficará minúsculo e seu sistema ficará muito mais fácil de ser atualizado...
Abraço...
Marcelo Vicente
GOSTEI 0
Mahdak
17/10/2006
Bom dia amigo...
Uma outra prática que funciona muito bem, seria o uso de bpl´s, ou seja, vc cria pacotes, podendo ser estes pacotes separados por módulos tipo : pkgVendas, pkgCompras etc....Seu exe ficará minúsculo e seu sistema ficará muito mais fácil de ser atualizado...
Abraço...
Marcelo Vicente
olá marcelo, voce teria um exemplo, tutorial, ou mesmo artigo falando a respeito da criação de pacotes num projeto para disponibilizar?
abraços!
Eu sou muito amigo de minhas DLLs... inserindo funções chaves em uma mestre e casos específicos em separado (seu form de resultados de consulta, por exemplo).
Paulo, uma DLL suporta referencia a um modulo de dados por exemplo? tipo, DM.CDS_Clientes...
ja pensei em gerar todos meus relatorios em html (runtime) com um unico navegador que criei, jogando todo o codigo de criação dos mesmos dentro de DLL´s , porem encontrei dificuldades quando comecei a escrever a parte do relatório que ´fala´ da tabela...
GOSTEI 0
Nigro
17/10/2006
Não coloque imagens dentro do fonte, procure dar um load fromfile sempre que possível com caso de glyphs, procure fazer imagelist, use o upx para enviar o executável, mas lembre-se que com o upx o sistema ocupa mais memória, um pouco só, mas é o ideal se seu sistema irá ser baixado da internet com frequência.
GOSTEI 0
Acacio
17/10/2006
Tem um arcquivo chamado ´upx´ que deixa o executável com o tamanho 15 a 20 ¬ do original.
GOSTEI 0
Titanius
17/10/2006
O upx e/ou outros compactadores, só diminuem o tamanho do arquivo...e pela lógica faz com que demore mais para ser executado no cliente, jah que o arquivo tem q ser descompactador no cliente antes de ser executado, a cada execucao..
[]s
[]s
GOSTEI 0
Paulocesar1301
17/10/2006
nunca usei esse upx... mas como todo compactador ele pode tb descompactar, certo... então...vc, em tese, poderia compactar seu exe para que a carga de uma atualização via internet ou rede fosse mais rápida e criaria uma rotina para que, quando esse exe já estivessena máquina do cliente, o mesmo fosse descompactado e só depois substituisse o arquivo antigo... assim tudo rodaria numa boa...
... certo... ou falei xit :)
... certo... ou falei xit :)
GOSTEI 0
Massuda
17/10/2006
...poderia compactar seu exe para que a carga de uma atualização via internet ou rede fosse mais rápida e criaria uma rotina para que, quando esse exe já estivessena máquina do cliente, o mesmo fosse descompactado...
Mas aí seria mais simples zipar o arquivo.O UPX compacta seu executável e gera um novo executável que, ao ser executado, faz automaticamente a descompatação do executável original em memória. Assim, o executável ocupa menos espaço no disco (o que, hoje em dia, com HDs grandes não faz muita diferença) mas consome mais memória para ser executado e demora mais para carregar.
GOSTEI 0
Aerreira
17/10/2006
O upx e/ou outros compactadores, só diminuem o tamanho do arquivo...e pela lógica faz com que demore mais para ser executado no cliente, jah que o arquivo tem q ser descompactador no cliente antes de ser executado, a cada execucao..
Pela experiência que tive com o UPX, com as máquinas a cada dia mais rápidas, o tempo que leva para ele ser descompactado na memória é muito menor que o tempo que leva para ser lido do disco, com isso vale a pena. Em alguns sistemas que testei o resultado final (mesmo num celeron 2.5) foi uma inicialização mais rápida da aplicação. Num pentium 4 é mais rápido ainda. O tempo de carga varia conforme o processador no cliente.
Mas ainda assim é um benefício mínimo, apenas alguns segundos de diferença. Se um sistema leva 10 segundos para iniciar, com UPX levará uns 6 segundos dependendo do processador.
GOSTEI 0