GARANTIR DESCONTO

Fórum Modularização com BPL - Problema com USES #313750

21/02/2006

0

Tenho um aplicativo com mais de 500 units e quero modularizá-lo, mas tenho um problema. Quando incluo a Unit1 no meu package, ele carrega todas as outras units.
Exemplo:

Unit1 tem USES Unit2, DataModule1;
Unit2 tem USES Unit3, DataModule1;
Unit3 tem USES Unit4;
Unit4 tem USES DataModule1;
Unit5 tem USES Unit1;

Como faço para não colocar as Unit2, Unit3, Unit4, Unit5 e DataModule1 juntamente com a Unit1 no meu package? Pois o meu BPL fica muito grande.
Lembrando q estou dando um exemplo de apenas poucas units, e q meu programa tem mais de 500 units.


Lehapan

Lehapan

Responder

Posts

21/02/2006

Emerson Nascimento

provavelmente no uses da sua unit1 vc referencia as demais e ocasiona um efeito cascata.


Responder

Gostei + 0

21/02/2006

Lehapan

Obrigado pela resposta, mas não é bem isto q preciso, pois a minha Unit1 pode ser do módulo estoque e a Unit2 e Unit3 do módulo Venda.
Mas para cada módulo possuo um DataModule, mas em algumas Units, como no módulo Venda, utilizo o DataModule do Estoque.


Responder

Gostei + 0

21/02/2006

Emerson Nascimento

não é o que você precisa? mas eu não sugeri nada...
eu estava somente dizendo o (provável) porquê de acontecer o que você disse.

imagine que na unit1 você tenha:
uses unit2, unit3;

daí, na unit3 você tenha:
uses unit4, unit5, datamodule2;

quando você tentar acrescentar a unit1, automaticamente o delphi incluirá uni2 e unit3 (porque a unit1 as utiliza), unit4, unit5 e datamodule2 (porque a unit3 - chamada pela unit1 - as utiliza), gerando um efeito cascata, pois essas units são dependentes umas das outras.


Responder

Gostei + 0

21/02/2006

Lehapan

Obrigado novamente.
Baseado na sua resposta anterior, existe alguma maneira de incluir somente a unit 1 em uma bpl e as unit2 e unit3 em outra bpl e as unist 4, 5 e o datamodule em outra?

Gerando 3 bpls, mas não causando nenhum problema entre elas.


Responder

Gostei + 0

21/02/2006

Lehapan

Sobe


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar