Compartilhando a mesma função em aplicações diferentes-Ajuda

13/09/2004

0

Oi pessoal , é meu primeiro post aqui, to chegando hoje !

Seguinte, tenho duas aplicações delphi que tem uma rotina que calcula uns indicadores para mim. O problema é que sempre que meu usuário pede alteração na fórmula do cálculo, eu tenho que alterar nos 2 projetos e compila-los novamente. Como eu poderia resolver esse problema ?

Eu pensei em compartilhar a mesma DCU ... será que funcionaria ?

Postem aí as suas soluções .

Muito Obriagado , espero ajudar vc´s tb em breve . :wink:


-=|ranca_tripa|=-

-=|ranca_tripa|=-

Responder

Posts

13/09/2004

Rômulo Barros

Coloque-a em uma Dll.
:o :o :o :o :o


Responder

13/09/2004

-=|ranca_tripa|=-

PEnsei nisso tb, sei que uma Dll em delphi é fácil de criar , mais se funcionasse com a DCU seria legal pq eu não precisaria alterar a chamada nos programas que usariam a dll , Mais obrigado ... dá mais umas idéias aí .

se não aparecer outras, devo usar dll mesmo como vc sugeriu .

Abraços a todos ...


Responder

13/09/2004

Gandalf.nho

Tu só precisaria alterar a chamada da função da DLL se fosse alterado os parâmetros de entrada/saída da função, coisa que tb seria necessária usando um DCU.


Responder

14/09/2004

-=|ranca_tripa|=-

acho que não expliquei muito bem , ou não entendi :D

eu disse que se eu usar uma dll , eu teria que altera meus programas para fazer a chamada a uma dll , já se fosse DCU não , eu apenas adicionaria na USES certo ?

me corrijam se eu estiver errado, eu nunca fiz dll , mais sei que é bem simples ...

abraços... :wink:


Responder

14/09/2004

Bruno Belchior

cara da mesma forma que em DCu a dll funciona c vc mudar os parâmetros das chamadas teria q recompilar o executável do mesmo modo, mas c só mudar o cálculo da função (dentro da DLL) sem mudar parâmetros nem retorno, então vc não precizaria recompilar basta atualizar a sua DLL sem mudar o nome dela...ok


Responder

14/09/2004

Bruno Belchior

cara da mesma forma que em DCu a dll funciona c vc mudar os parâmetros das chamadas teria q recompilar o executável do mesmo modo, mas c só mudar o cálculo da função (dentro da DLL) sem mudar parâmetros nem retorno, então vc não precizaria recompilar basta atualizar a sua DLL sem mudar o nome dela...ok


Responder

14/09/2004

-=|ranca_tripa|=-

Não falo de parâmetros de métodos dentro da DLL , nem chamadas(assinaturas) dos métodos dentro da DLL . Estou falando na chamada da DLL em sí .

Uma DCU eu precisaria apenas declar na uses , como já faço com uma unit . Agora, uma DLL eu precisaria colocar códigos para chamar essa DLL , que acredito que não seja só declarar na USES .

isso que estou tentando falar , me desculpem se não fui claro.

claro que uma vez alterado o as minhas unit pra trabalhar com a DLL eu nao precisaria fazer mais isso :?

aguardo mais idéias ..... será que só tem duas opções ? DCU e DLL ?


Responder

15/09/2004

Nildo

Você pode usar BPLs e pedir para seu delphi não compilar essa BPL junto com seu aplicativo.


Responder

15/09/2004

Rodc

Endendi o que você quer fazer, e vc está perfeitamente correto.
Eu também tenho dois programas que compartinham a mesma unit. É um programa que importa arquivos e gera faturas. Mas a importação pode ser feita pelo usuário ou automático em um serviço que criei para o window.
Basta adicionar ao projeto a unit que você quiser e pode usá-la normalmente.
Vai ficar assim na unit principal do seu projeto secundário:
[color=darkred:384fa51c23]uses
Geral in ´..\Fontes\Geral.pas´,
ULocate in ´..\Fontes\ULocate.pas´ ,[/color:384fa51c23]
É até melhor que fazer DLL, pois vc não precisar ficar se matando para compilar e não tem milhões de Access Violations por coisa boba.
Não caia na besteira de de fazer DLL.
Ou até melhor. Se você colocar o .pas dentro da pasta bin da intalação do Delphi, ele é automaticamente acessado por qualquer projeto.
Boa sorte.

Rodrigo Cesar


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar