Fórum Modularização de sistemas em BPL, alguém trabalha com isso? #342708

18/06/2007

0

Olá amigos, gostaria de saber se alguém aqui do Fórum trabalha com modularização em BPL, pois estou querendo usar, e queria tirar algumas dúvidas.

Desde já agradeço

[]s


Titanius

Titanius

Responder

Posts

18/06/2007

Leonardoffsilva

Também estou querendo. Até agora não achei nenhum exemplo completo.
Minha aplicação ja esta com 12 mb e crescendo. Já enxuguei ao máximo.
Sei que tenho que partir para modularização.
Fico no aguardo tb.


Responder

Gostei + 0

18/06/2007

Titanius

Olá Leonardo, eu conheço bem a técnica do BPL, porém tenho dúvidas quanto a viabilidade dela. Todos acham que é o mar de rosas, mas se for do jeito que eu sei, complica demais a vida de nós programadores.

[]s


Responder

Gostei + 0

18/06/2007

Macario

Olá.

Isto também é do meu interesse.

Eu penso em fazer modularização e ainda criar um atualizador ai assim o sistema ERP aqui vai ficar bacana.

Vejam aqui o ERP esta ainda em Client/Server, como ser fazer modularização em um sistema N-tier? Será que é ´simples´ tambem?

:roll:


Responder

Gostei + 0

18/06/2007

Titanius

Olá. Isto também é do meu interesse. Eu penso em fazer modularização e ainda criar um atualizador ai assim o sistema ERP aqui vai ficar bacana. Vejam aqui o ERP esta ainda em Client/Server, como ser fazer modularização em um sistema N-tier? Será que é ´simples´ tambem? :roll:


Simples digo que não é, mas a modularização em n-tier é mais complicada, se bem que você pode modularizar o Client, sem problemas.. agora o server é complicado, se você usa RDM e TPL, acho ser quase que impossível... de resto é igual ao modulo normal mesmo.

O problema é que estou tendo é o seguinte, imaginem a situação:

FrmBasic
- CadCliente
- CadFornecedor e etc..

Todos herdam a tela do FrmBasic.. ao meu ver e no meu estudo, se você modifica algo relevante no FrmBasic, voce tem que recompilar TODOS os BPLs que dele depende.

Outro ´ponto negativo´ é que se voce usa BPL, todas as BPLs de todos os componentes que você utiliza tem que ir junto...

[]s


Responder

Gostei + 0

18/06/2007

Massuda

...se você modifica algo relevante no FrmBasic, voce tem que recompilar TODOS os BPLs que dele depende.
Essa é uma ´limitação´ dos packages... Se você altera a parte pública de um package (itens declarados como públicos/publicados nas classes) isso afeta o modo como outros packages (e seu programa) interagem com o package alterado.

Se não fosse assim, como seu programa e outros packages ficariam cientes das alterações feitas? Uma possível solução (muuuito mais complexa) seria você fazer carga dinamica dos packages e usar RTTI para descobrir propriedades/metodos das classes contidas nos packages... não arriscaria ir por esse caminho pois possivelmente o mecanismo de RTTI nativo do Delphi não seria suficiente para fazer isso.

...se voce usa BPL, todas as BPLs de todos os componentes que você utiliza tem que ir junto...
Uma razão para isso acontecer é que você pode ter especificado alguns packages que seu programa/package não utiliza na opção [b:da4c284045]Project|Options|Package|Runtime Packages[/b:da4c284045] e, infelizmente, o compilador gera código que checa a presença desses packages. O compilador não tem como verificar se um package é realmente necessário para seu programa/package pois isso só pode ser testado em runtime.

Outra razão é que muitos packages requerem variáveis globais que só podem ser compartilhadas entre diferentes packages se estiverem em um package compartilhado pelos outros packages. Um exemplo disso são os packages do runtime do Delphi.


Responder

Gostei + 0

18/06/2007

Macario

Outro ´ponto negativo´ é que se voce usa BPL, todas as BPLs de todos os componentes que você utiliza tem que ir junto... []s


Olá eu vejo isso como um processo normal, afinal estamos ´modularizando´ o aplicativo. Outro ponto é, as alterações em componentes ocorrem bem menos do que em nossos aplicativos, concordam?

8)


Responder

Gostei + 0

18/06/2007

Renatacoimbra

Olá Pessoal !

Tenho um ERP em módulos usando BPL, prometir em outro POST que escreveria um Artigo/Exemplo para disponibilizar para pessoal. se alguém tiver como disponibilizar os fontes em um servidor para todos terem acesso, manda um e-mail para sigdata@brturbo.com


[]´s


Responder

Gostei + 0

18/06/2007

Titanius

Essa é uma ´limitação´ dos packages... Se você altera a parte pública de um package (itens declarados como públicos/publicados nas classes) isso afeta o modo como outros packages (e seu programa) interagem com o package alterado.


Olá Massuda, sim, sei que isso é uma limitação, e muito chata, não concorda? Se bem, que com a versão 2005 pra frente, você pode falar qual package requer outro, e por consequencia dar um build nele, automaticamente.

Uma razão para isso acontecer é que você pode ter especificado alguns packages que seu programa/package não utiliza na opção Project|Options|Package|Runtime Packages e, infelizmente, o compilador gera código que checa a presença desses packages. O compilador não tem como verificar se um package é realmente necessário para seu programa/package pois isso só pode ser testado em runtime.


Eu meu ver, o Delphi poderia deixar um EXE normal, acessar um BPL, sem precisar marcar esta opção.

Olá eu vejo isso como um processo normal, afinal estamos ´modularizando´ o aplicativo. Outro ponto é, as alterações em componentes ocorrem bem menos do que em nossos aplicativos, concordam?

Justamente, mas pense como sendo um dos seguintes problemas: 1) Todos vão saber quais componentes você utiliza. 2) Dependendo da quantidade de componentes que você usa, você terá que enviar tudo pro cliente.

Olá Pessoal ! Tenho um ERP em módulos usando BPL, prometir em outro POST que escreveria um Artigo/Exemplo para disponibilizar para pessoal. se alguém tiver como disponibilizar os fontes em um servidor para todos terem acesso, manda um e-mail para sigdata@brturbo.com


Renata tentei lhe enviar um email solicitando justamente isso, mas o email que eu tinha (o qual você enviou as imagens em TDI) não existe mais.

Renata, sei que seu ERP funciona em BPL, como você contornou estes problemas ditos até agora?

[]s


Responder

Gostei + 0

18/06/2007

Macario

Olá Pessoal ! Tenho um ERP em módulos usando BPL, prometir em outro POST que escreveria um Artigo/Exemplo para disponibilizar para pessoal. se alguém tiver como disponibilizar os fontes em um servidor para todos terem acesso, manda um e-mail para sigdata@brturbo.com []´s


Olá Renata boa tarde.

Sei de qual topico você se refere, que bom que ja tem o artigo. Que tal usar o rapidshare para postar o exemplo? Outra opção seria você indicar o seu artigo na seção da devmedia(pode ser que funcione..rs),afinal eles pedem isso sempre que mandemos artigos e tal.

[]´s 8)


Responder

Gostei + 0

18/06/2007

Titanius

[quote:0b4d4f9411=´RenataCoimbra´]Olá Pessoal ! Tenho um ERP em módulos usando BPL, prometir em outro POST que escreveria um Artigo/Exemplo para disponibilizar para pessoal. se alguém tiver como disponibilizar os fontes em um servidor para todos terem acesso, manda um e-mail para sigdata@brturbo.com []´s


Olá Renata boa tarde.

Sei de qual topico você se refere, que bom que ja tem o artigo. Que tal usar o rapidshare para postar o exemplo? Outra opção seria você indicar o seu artigo na seção da devmedia(pode ser que funcione..rs),afinal eles pedem isso sempre que mandemos artigos e tal.

[]´s 8)[/quote:0b4d4f9411]

Prefiro o Rapidshare ou semelhante, pois se enviar À DevMEdia, eles vão bloquear somente para assinantes.. :cry:


Responder

Gostei + 0

18/06/2007

Macario

Olá.

Nesse precisamos melhorar tambem o metodo de distribuição, certo. No caso um instalador resolve o problema.

Não vejo problema em ´mostrar´ que componete é usado na aplicação( isso claro so sabera que trabalha com Delphi). E será que não da pra fazer uma ´Packejão´ contendo as BPL dos componentes?
:roll:


Responder

Gostei + 0

18/06/2007

Titanius

Olá. Nesse precisamos melhorar tambem o metodo de distribuição, certo. No caso um instalador resolve o problema. Não vejo problema em ´mostrar´ que componete é usado na aplicação( isso claro so sabera que trabalha com Delphi). E será que não da pra fazer uma ´Packejão´ contendo as BPL dos componentes? :roll:


Infelizmente não tem como... se não tiver os BPLs já na pasta do exe ou no system32, não executa..

[]s


Responder

Gostei + 0

18/06/2007

Renatacoimbra

Não tenho problemas na distribuição pois não uso componentes de terceiros, tenho um só Package contendo as minhas classes/componentes, os mesmos ficam dentro de um package_pai.

isso tá bem explicado no exemplo, qualquer dúvida/sugestão podemos discutir aqui mesmo no forum, daí todos serão beneficiados.

Segue o link para download:

[url]
http://rapidshare.com/files/37953664/Packages.zip
[/url]

[]´s


Responder

Gostei + 0

18/06/2007

Macario

Olá.

legal em casa, vou baixar e ver, aqui na empresa não tenho acesso ao rapidshare (regras de firewall).

Renata, so por curiosidade, isto se aplica de qual a qual versão do Delphi?


:roll:


Responder

Gostei + 0

18/06/2007

Renatacoimbra

Vir algo sobre modularizar o Servidor da aplicação, não vejo necesidade, usando boas prática de programação o EXE ou DLL ficam bem pequenas.

tenho um ERP com 4 RDM e muitos objetos visuais, classes de pesistencia e regras. um servidor de relatórios embutido e o EXE final não passa de 800KB

[]´s


Responder

Gostei + 0

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

Aceitar