Fórum Compilar várias unidades / unit de forma automática. Build #275499

04/04/2005

0

Olá pessoal,


Como vai ?
Pessoal estou trabalhando com a ideia de cada classe ter usa própria unidade / unit. (ou a grande maioria, em alguns casos uso classe amiga)

Agora meu problema está na compilação dessas classes, pois estou com uns 50 arquivos, e quando faço alteração em uma classe, ela irá propagar para outras classes, mas apenas quando eu compilar.

Teria como eu fazer um BUILD em todas essas classes? Eu falar para dar um build em um diretório algo assim? Qual ferramenta posso utilizar?

Obrigado.

Yalle Cunha.


Yallebr

Yallebr

Responder

Posts

04/04/2005

Edilcimar

porque não cria um bat e utiliza o dcc para compilar cada uma das unidades (isto é um chute), não sei se no sei caso seria o dcc a ser utilizado


Responder

Gostei + 0

04/04/2005

Massuda

...meu problema está na compilação dessas classes, pois estou com uns 50 arquivos, e quando faço alteração em uma classe, ela irá propagar para outras classes, mas apenas quando eu compilar.
Não entendi o que você quis dizer com ´irá propagar para outras classes, mas apenas quando eu compilar´

Suas classes estão todas em um único projeto ou seria um conjunto de projetos (por exemplo, um executável + packages)?

Teria como eu fazer um BUILD em todas essas classes? Eu falar para dar um build em um diretório algo assim?
O Delphi quando compila usa a informação contida no uses de cada unit para determinar quais units precisam ser recompiladas. Adicionalmente, o compilador é esperto o suficiente para detectar que, se uma unit não teve alterações na parte da interface, as units que dependem dessa unit não precisam ser recompiladas. E, é claro, você sempre pode dar um build pela IDE.

Qual ferramenta posso utilizar?
Imaginando que você tenha, por algum motivo um processo de build complicado, que a IDE não resolve (ou precisa fazer isso de modo automatizado) pode usar o [url=http://www.finalbuilder.com/]FinalBuilder[/url] (comercial), o [url=http://sourceforge.net/projects/want/]Want[/url] (open source) ou o tradicional Make que acompanha o Delphi.


Responder

Gostei + 0

05/04/2005

Yallebr

Massuda e edilcimar,


Obrigado pela resposta.

Massua em resposta a primeira pergunta.

Tenho várias classes, que não estão vinculadas a um único projeto. O projeto que elas utiliza é um projeto de Teste próprio de cada classe.

Ou seja quando eu modificar a classe TTeste1 eu só vou saber o impacto que ela teve quando eu compilar o TTeste2 (que utiliza ela).
Então eu queria quando modificar uma classe dar o build em todas as classes para saber o impacto que ela terá. Entendeu?

Minhas classes estão seperadas totalmentes, não tem um executavel nem packages. Elas tem apenas um projeto de teste (Dunit).

2) Resposta 2.

Sim, perfeito essa questão do Delphi fazer o build. Vamos supor que TTeste2 usa TTeste1. Quando eu compilar TTeste2 eu vou receber um erro da mudança está no código de TTeste1. Isso está ok.
Mas quando eu compilar TTeste1 (que não usa, não faz associação a TTeste2) eu não vou receber o erro de Assinatura por exemplo.
Mudei a assinatura do TTeste1, isso não irá me trazer erro em TTeste1 mas deverá gerar erro em TTeste2.


3) Fiz o Download do Want.

Obrigado.
:)


Responder

Gostei + 0

05/04/2005

Yallebr

porque não cria um bat e utiliza o dcc para compilar cada uma das unidades (isto é um chute), não sei se no sei caso seria o dcc a ser utilizado



Pessoal como posso utilizar esse ´dcc´ ?

Ele vem junto com o compilador do Delphi ? Qual é o parametro?

Obrigado


Responder

Gostei + 0

05/04/2005

Massuda

...como posso utilizar esse ´dcc´ ?
O [b:777ec97182]dcc32.exe[/b:777ec97182] é o compilador versão linha de comando do Delphi e costuma estar no subdiretório BIN do diretório onde o Delphi está instalado.

Use este comando
dcc32 /?
para ver uma lista das opções disponíveis.

Para dar um build no projeto Exemplo.dpr, use
dcc32 /B Exemplo.dpr



Responder

Gostei + 0

05/04/2005

Edilcimar

vá no prompt do dos no diretório delphi\bin e procure por um dcc.exe ou dcc32.exe digite-o tecle enter que ele dá os parâmetros


Responder

Gostei + 0

05/04/2005

Yallebr

Obrigado Pessoal,

Vou testar.

:D


Responder

Gostei + 0

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

Aceitar