RES: [delphi-br] Modular sistemas, conexão em BPL.
-Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Fellipe Henrique Enviada em: quinta-feira, 12 de janeiro de 2006 08:44 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Modular sistemas, conexão em BPL. Olá fiquei sem net ontem, e so hoje estou lendo as mensagens... Minha ideia inicial de montar sistemas modularizados, é o seguinte: criaria todos os modulos,como exemplo: principal --- contabil.bpl --- vendas.bpl --- compras.bpl --- contas a pagar.bpl --- contas a receber.bpl pois bem, tenho um cliente que so quer contabil, vendas e compras... e depois de uns 3 meses, ele quer o CR e CP... eu soh mandaria pra ele as bpls e pronto... nao precisaria refazer o executavel entendeu?,teria o mesmo executavel, soh que diferente pra cada usuario, de acordo com que ele quer.. essa eh a minha intencao pra usar bpl, e queria saber se isso eh possivel, se nao for, como eu poderia criar algo desse tipo? []s a todos, Em 10/01/06, Elazar [EMAIL PROTECTED] escreveu: Ola boa tarde. por enquanto havia ficado so lendo as msgmas bem, Estou a mais ou menos uns 4 meses criando um projeto com bpls a partir do zero. E SO ESTOU QUERENDO PASSAR A IDEIA DA COISA ...(depois vai da criatividade de cada um) As vantagems são aparentes, desde que o projeto seja algo que tem um nivel um pouco fora do normal de implementacoes diferente de um determinado processo/rotina para cada cliente, caso contrario ainda acredito que ter tudo em um unico exe e a melhor solucao. Levando em consideracao, com o uso de bpls, voce pode atualizar de forma mais facil, distribuir o trabalho para diversos programadores, ter n maneiras de implementacao do mesmo processosem falar na modularizacao... etc. O sistema que estou trabalhando usa um exe principal, encarregado de carregar um arquivo bpl. neste exe principal nao contem nada alem do codigo necessario para carregar este primeiro bpl; A partir deste primeiro bpl, contem/obtem informacoes de quais outros devem ser carregados. Neste primeiro bpl, tem o form principal, conexao com o bancoe procedimentos para a carga dos outros pacotes. O outros pacotes existentes, ou que venham a existir, importam procedimentos do primeiro (como conexao a base de dados) e exportam informacoes (itens de menus, formsetc). Fazendo com que simplesmente...se o pacote existir o pacote principal (primeiro) vai obter informacoes do mesmo, criar os itens de menus, barras de ferramentes, conexao com o banco para dar suporte a ele. Tirando o pacote...as opçoes disponiveis do mesmo automaticamente estarao indisponiveis Ai vem a ideia de vender um programa para um clientee derrepente...ele pedir...me coloca aquele planco de contas com ...(ai eu mando um bpl pra elel...ele o coloca no diretorio definido...e prontoabre o sistema eta la o menu de plano de contas xxx pro cara cadastrar o plano de contas e usar). Atenciosamente Elazar Dornelles Ceza [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. -- _ Fellipe Henrique [EMAIL PROTECTED] Venham até a borda, ele disse. Eles disseram: Nós temos medo. Venham até a borda, ele insistiu. Eles foram, Ele os empurrou... E eles voaram. (Guillaume Apollinaire) -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE http://br.rd.yahoo.com/SIG=12fbgl07f/M=387526.7663462.8688294.1588051/D =brclubs/S=2137111264:HM/Y=BR/EXP=1137069977/A=3230136/R=2/id=noscript/S IG=16ejq3fpe/*http://landingstrip.dell.com/landingstrip/ls.asp?CID=10121 LID=292301DGC=BADGStor=DHSDGSite=YahooConum=BRDURL=http://www1.la. dell.com/content/products/category.aspx/desktops?c%3Dbr%26l%3Dpt%26s%3Dd hs _ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! http://br.yahoo.com/info/utos.html . [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web,
RES: [delphi-br] Modular sistemas, conexão em BPL.
*** Olá fiquei sem net ontem, e so hoje estou lendo as mensagens...Minha ideia inicial de montar sistemas modularizados, é o seguinte: criaria todos os modulos,como exemplo: principal --- contabil.bpl --- vendas.bpl --- compras.bpl --- contas a pagar.bpl --- contas a receber.bpl pois bem, tenho um cliente que so quer contabil, vendas e compras... e depois de uns 3 meses, ele quer o CR e CP... eu soh mandaria pra ele as bpls e pronto... nao precisaria refazer o executavel entendeu?,teria o mesmo executavel, soh que diferente pra cada usuario, de acordo com que ele quer.. essa eh a minha intencao pra usar bpl, e queria saber se isso eh possivel, se nao for, como eu poderia criar algo desse tipo? è possivel, mas ja estou a 4 meses aproximadamente mexendo em algo assim. (é dificil, complicado mas que depois de pronto vai valer apena...isso vai) Aconselho a pensar, como o exe que carrega o pacote vai 'descobrir' o que tem nele (no pacote)...e pegar uma referencia a isto e tornar disponivel para o usuario. Atenc. Elazar [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [delphi-br] Modular sistemas, conexão em BPL.
Olá Elazar, Mas eu não teria que tipo, se eu modificar a tela do CR, nao teria que recompilar o EXE principal nao? se nao, eh questao de procurar a melhor forma de pegar os modulos em runtime... []s Fellipe H. ** Exatamente o que estou dizendo...é que voce teria um executavel independente de qualquer bpl. quando o exe encontrar algum bpl ele apenas proverá suporte...entao se alterar o form do CR ou algum procedimento no pacote onde o CR esta, não precisara re-compilar o executavel...pois toda a ligacao...entre os dois sera estabelecida automaticamente Imagine que no executavel tenha uma funcao que exporte uma referencia ao DataBase Ex: (IBX) function GetDataBaseConection : TIBDataBase begin Result := frmDataModulo.IBDataBasePrincipal; end; e no bpl...ele chame esta funcao para setar o data base dos IBDataSet, IBTable, IBQuery. ex; procedure TfrmCR.Create(Sender : TObject); begin ibd_ContasReceber.DataBase := GetDataBaseConection; ibd_ContasReceber.Transaction := ibd_ContasReceber.DataBase.DefaultTransaction; ibd_ContasReceber.Prepare; ibd_ContasReceber.Open; ... ... end; Ai, se voce mudar o SQL do ibd_ContasReceber (TIBDataSet), voce compila apenas o bpl CR e manda pro usuario. pois a área de interface (referencia do executavel-bpl nao mudou (procedimento GetDataBaseConection) entao nao precisa recompilar/enviar o executavel) Atenc. Elazar [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [delphi-br] Modular sistemas, conexão em BPL.
A tá, deixa me ver se entendi... Tenho o EXE, que exporta a conexao, e no CR tenho que pega esta funcao pra setar a conexao no IBDataSet... se eu mudar a TELA, ou o SQL do DataSet, ou acrescentar alguma Tela, desde que nao mude a Ligacao da bpl com o EXE, eu nao preciso mudar o EXE? é isso? []s Fellipe H. * Exatamente Desde que voce nao mude alguma coisa que faz os dois se relacionar...(me refiro ao caso de voce ter mais que uma funcao que é exportada no exe x bpl)...o resto pode mudar o que quiser. Alguem me corrija se estiver errado. O bpl tem uma tabela de exportacoes dos procedimentos/funcoes exportados pelo mesmo (igual ao export das dll), se o exe usar algo desta tabela e se ela for modificada por algum motivo (nao sei ao certo que motivos ou em que momento ela se altera (e se alguem souber...e quiser se pronunciar eu agradeço...))...vai dar pau na carga do bpl Isso (de dar pau) tb vai acontece quando dois pacotes tiverem um form, ou classe igual. OBS: Desde que comecei a mexer com o ditos bpls, descobri um monte de coisa que nao se deve ou deve ser feito...e acho que se voce tirar um tempo pra testar...inventar..vai ser de bom proveito...(uma dica...faça backups...rs) Se voce ja criou alguma dll, a experiencia é quase a mesmavoce pode criar uma Unit no pacotee nela declarar funcoes...e exportar (clausula exports) exatamente como faz na dll Voce pode, a titulo de exemplo (como eu fiz no meu projeto), criar uma funcao padrao (em todos os bpl) que ajuda o exe a criar os itens de menus...ou outras coisas...no form principal (que esta no EXE) Atenc. Elazar Dornelles Ceza [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: RES: [delphi-br] Modular sistemas, conexão em BPL.
Elazar escreveu: (...) pois bem, tenho um cliente que so quer contabil, vendas e compras... e depois de uns 3 meses, ele quer o CR e CP... eu soh mandaria pra ele as bpls e pronto... nao precisaria refazer o executavel entendeu?,teria o mesmo executavel, soh que diferente pra cada usuario, de acordo com que ele quer... (...) -x- [Welson] Olha só. SE no EXE que o cliente tem agora, tiver lá no menu, por exemplo, Contas a Pagar e Contas a Receber mas estão desabilitados porque o módulo não era necessário na época, é só você mandar as BPL's. Mas se no EXE você precisou alterar um item de menu para incluir a referência aos novos módulos, então você tem que dar um Build All no projeto e mandar o novo EXE com os módulos requisitados. Aí você pode perguntar: Mas então qual a vantagem de usar BPL's ??. É o seguinte. Nesse caso narrado acima, como você alterou o FormPrincipal para chamar os módulos novos criados por você, não tem jeito, tem que mandar o EXE alterado. Mas digamos que você futuramente só precise alterar o módulo de CR, porque alterou sei lá, o Hint de um botão. Nesse caso você não precisa mandar o EXE, mande somente a BPL modificada e isso será mostrado como novo lá pro cliente, sacou a minha idéia ?! A grande sacada de modularizar a aplicação é essa, se mudar alguma coisa em um módulo específico, só precisa enviar esse módulo. Qualquer coisa, pergunte. Abraços... = Nunca ande pelo caminho traçado, pois ele conduz somente até onde os outros já foram. Alexander Graham Bell = Welson de Avelar Soares Filho Programador Delphi Gemini Sistemas www.geminisistemas.com.br Juiz de Fora - Minas Gerais = - Yahoo! doce lar. Faça do Yahoo! sua homepage. [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: RES: [delphi-br] Modular sistemas, conexão em BPL.
[Welson] Olha só. SE no EXE que o cliente tem agora, tiver lá no menu, por exemplo, Contas a Pagar e Contas a Receber mas estão desabilitados porque o módulo não era necessário na época, é só você mandar as BPL's. Mas se no EXE você precisou alterar um item de menu para incluir a referência aos novos módulos, então você tem que dar um Build All no projeto e mandar o novo EXE com os módulos requisitados. Aí você pode perguntar: Mas então qual a vantagem de usar BPL's ??. É o seguinte. Nesse caso narrado acima, como você alterou o FormPrincipal para chamar os módulos novos criados por você, não tem jeito, tem que mandar o EXE alterado. Mas digamos que você futuramente só precise alterar o módulo de CR, porque alterou sei lá, o Hint de um botão. Nesse caso você não precisa mandar o EXE, mande somente a BPL modificada e isso será mostrado como novo lá pro cliente, sacou a minha idéia ?! A grande sacada de modularizar a aplicação é essa, se mudar alguma coisa em um módulo específico, só precisa enviar esse módulo. Qualquer coisa, pergunte. Abraços... Pois bem, concordo com voce, assim que voce mandar o CR pela primeira vez, vai ter que mandar o form principal tb (ou seja o exe), okrealmente e assim que funciona. Mas a ideia de que falo... e que o form principal possa prever se o bpl esta disponivel ou nao e automaticamente habilitar/desabilitar o menu conforme a disponibilidade do pacote. Ex; (bem simples) procedure frmPrincipalCreate(Sender : TObjetct); begin MainMenu.mnuContasReceber.Enabled := FileExists('ContasReceber.bpl'); MainMenu.mnuContasPagar.Enabled := FileExists('ContasPagar.bpl'); ... end; Um detalhe a observar, que se o pacote quando encontrado poderia ser carregado...e os procedimentos do menu ja tambem devem existir...dai a necessidade de compilar/mandar o EXE (com o form principal) pode ser desconsiderada Quero dizer, que quando o menu tal for clicado...o que o EXE (form principal) vai fazer? (resposta) deve executar um procedimento padrao para todos os menus, que seja encarregado de acessar a funcionalidade no bpl. Sacou:? Atenc. Elazar Dornelles Ceza [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: RES: [delphi-br] Modular sistemas, conexão em BPL.
Olá Elazar, Pra isto estive pensando... Em todos os modulos, eu exportar a descricao do menu, assim, eu posso carregar dinamicamente os bpls, e por consequencia criar os menus de acordo com os modulos existentes, ou seja, nao necessitaria de eu refazer o exe, ou teria? []s Fellipe H. Em 12/01/06, Elazar [EMAIL PROTECTED] escreveu: [Welson] Olha só. SE no EXE que o cliente tem agora, tiver lá no menu, por exemplo, Contas a Pagar e Contas a Receber mas estão desabilitados porque o módulo não era necessário na época, é só você mandar as BPL's. Mas se no EXE você precisou alterar um item de menu para incluir a referência aos novos módulos, então você tem que dar um Build All no projeto e mandar o novo EXE com os módulos requisitados. Aí você pode perguntar: Mas então qual a vantagem de usar BPL's ??. É o seguinte. Nesse caso narrado acima, como você alterou o FormPrincipal para chamar os módulos novos criados por você, não tem jeito, tem que mandar o EXE alterado. Mas digamos que você futuramente só precise alterar o módulo de CR, porque alterou sei lá, o Hint de um botão. Nesse caso você não precisa mandar o EXE, mande somente a BPL modificada e isso será mostrado como novo lá pro cliente, sacou a minha idéia ?! A grande sacada de modularizar a aplicação é essa, se mudar alguma coisa em um módulo específico, só precisa enviar esse módulo. Qualquer coisa, pergunte. Abraços... Pois bem, concordo com voce, assim que voce mandar o CR pela primeira vez, vai ter que mandar o form principal tb (ou seja o exe), okrealmente e assim que funciona. Mas a ideia de que falo... e que o form principal possa prever se o bpl esta disponivel ou nao e automaticamente habilitar/desabilitar o menu conforme a disponibilidade do pacote. Ex; (bem simples) procedure frmPrincipalCreate(Sender : TObjetct); begin MainMenu.mnuContasReceber.Enabled := FileExists('ContasReceber.bpl'); MainMenu.mnuContasPagar.Enabled := FileExists('ContasPagar.bpl'); ... end; Um detalhe a observar, que se o pacote quando encontrado poderia ser carregado...e os procedimentos do menu ja tambem devem existir...dai a necessidade de compilar/mandar o EXE (com o form principal) pode ser desconsiderada Quero dizer, que quando o menu tal for clicado...o que o EXE (form principal) vai fazer? (resposta) deve executar um procedimento padrao para todos os menus, que seja encarregado de acessar a funcionalidade no bpl. Sacou:? Atenc. Elazar Dornelles Ceza [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE http://br.rd.yahoo.com/SIG=12fptotml/M=387526.7663462.8688294.1588051/D=brclubs/S=2137111264:HM/Y=BR/EXP=1137078836/A=3230136/R=2/id=noscript/SIG=16ejq3fpe/*http://landingstrip.dell.com/landingstrip/ls.asp?CID=10121LID=292301DGC=BADGStor=DHSDGSite=YahooConum=BRDURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3Dbr%26l%3Dpt%26s%3Ddhs -- *Links do Yahoo! Grupos* - Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ - Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED][EMAIL PROTECTED] - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! http://br.yahoo.com/info/utos.html. -- _ Fellipe Henrique [EMAIL PROTECTED] Venham até a borda, ele disse. Eles disseram: Nós temos medo. Venham até a borda, ele insistiu. Eles foram, Ele os empurrou... E eles voaram. (Guillaume Apollinaire) [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: RES: [delphi-br] Modular sistemas, conexão em BPL.
Pra isto estive pensando... Em todos os modulos, eu exportar a descricao do menu, assim, eu posso carregar dinamicamente os bpls, e por consequencia criar os menus de acordo com os modulos existentes, ou seja, nao necessitaria de eu refazer o exe, ou teria? []s Fellipe H. É exatamente assim que eu to fazendo...o executaval fica autosustentavel ...rs.. No meu projetoos bpls, importam nao somente os itens de menus, mas varias outras coisas...(por isso estou demorando um monte pra montar uma extrutura bem consistente...rs..) No meu caso...o projeto do executavel...nao chega a 150 linhas de codigo...e carrega um pacote...que eu chamo de principal...neste pacote principal... se encarrega de verificar quais outros estao disponiveis, buscando informacoes neles e tornando disponiveis. Pra voce ter um ideia...o MainForm do 'pacote principal', nao tem nenhum componente, pois tudo é criado em run time, de acordo com as informacoes obtidas nos pacotes (tipo...se tiver cria...mostra..configura eventos...e tal). Ja o arquivo executavel ficou com 9,5KB...tente fazer menor...rs... Até agora o maio bpl ta com 120 KB, os outros pacotes ficarao em torno de 50 e acho que para chegar no máximo 500 KB ainda ta blz...(alguns poucos minutos na net discada, basta na hora de panico) Estou prevendo o caso de mais adiante...alguem usuario de la das conxinxinas ligar dizendo que deu um problema ou que querum X, Banana, Galinha Assada e uma Coca Cola.eu mando algo de alguns KB, pro cara...se bobiar...vai ate em disquete, sem falar que com apenas esse arquivinho pode fazer aparecer trocentos negocio pro cara, e mesmo agora que aida to criando...ja ta facilitando. Atenc. Elazar [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: RES: [delphi-br] Modular sistemas, conexão em BPL.
Blz Elazar... é justamente isso que estou pensando... vou começar a montar meu sistema, qualquer coisa dou um alerta por aqui... Obrigado, Fellipe H. Em 12/01/06, Elazar [EMAIL PROTECTED] escreveu: Pra isto estive pensando... Em todos os modulos, eu exportar a descricao do menu, assim, eu posso carregar dinamicamente os bpls, e por consequencia criar os menus de acordo com os modulos existentes, ou seja, nao necessitaria de eu refazer o exe, ou teria? []s Fellipe H. É exatamente assim que eu to fazendo...o executaval fica autosustentavel ...rs.. No meu projetoos bpls, importam nao somente os itens de menus, mas varias outras coisas...(por isso estou demorando um monte pra montar uma extrutura bem consistente...rs..) No meu caso...o projeto do executavel...nao chega a 150 linhas de codigo...e carrega um pacote...que eu chamo de principal...neste pacote principal... se encarrega de verificar quais outros estao disponiveis, buscando informacoes neles e tornando disponiveis. Pra voce ter um ideia...o MainForm do 'pacote principal', nao tem nenhum componente, pois tudo é criado em run time, de acordo com as informacoes obtidas nos pacotes (tipo...se tiver cria...mostra..configura eventos...e tal). Ja o arquivo executavel ficou com 9,5KB...tente fazer menor...rs... Até agora o maio bpl ta com 120 KB, os outros pacotes ficarao em torno de 50 e acho que para chegar no máximo 500 KB ainda ta blz...(alguns poucos minutos na net discada, basta na hora de panico) Estou prevendo o caso de mais adiante...alguem usuario de la das conxinxinas ligar dizendo que deu um problema ou que querum X, Banana, Galinha Assada e uma Coca Cola.eu mando algo de alguns KB, pro cara...se bobiar...vai ate em disquete, sem falar que com apenas esse arquivinho pode fazer aparecer trocentos negocio pro cara, e mesmo agora que aida to criando...ja ta facilitando. Atenc. Elazar [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE http://br.rd.yahoo.com/SIG=12fsl6ns9/M=387526.7663462.8688294.1588051/D=brclubs/S=2137111264:HM/Y=BR/EXP=1137098174/A=3230136/R=2/id=noscript/SIG=16ejq3fpe/*http://landingstrip.dell.com/landingstrip/ls.asp?CID=10121LID=292301DGC=BADGStor=DHSDGSite=YahooConum=BRDURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3Dbr%26l%3Dpt%26s%3Ddhs -- *Links do Yahoo! Grupos* - Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ - Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED][EMAIL PROTECTED] - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! http://br.yahoo.com/info/utos.html. -- _ Fellipe Henrique [EMAIL PROTECTED] Venham até a borda, ele disse. Eles disseram: Nós temos medo. Venham até a borda, ele insistiu. Eles foram, Ele os empurrou... E eles voaram. (Guillaume Apollinaire) [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [delphi-br] Modular sistemas, conexão em BPL.
Nem todo mundo tem ADSL, alias ele nem chega a todos os lugares. Além disso, mesmo com ADSL, downloads menores sempre são bem vindos... Filipe Xavier Ramalho Desenvolvimento Telefone: (41) 3219-2043 Duty Sistemas de Gerenciamento de Riscos S/A http://www.duty.com.br Antes de imprimir pense no MEIO AMBIENTE! -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Filipe Enviada em: terça-feira, 10 de janeiro de 2006 17:00 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Modular sistemas, conexão em BPL. Em tempos de ADSL, qual o problema de enviar o exe todo??? []'s Filipe Geyer - Original Message - From: Fellipe Henrique To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 10, 2006 2:51 PM Subject: Re: [delphi-br] Modular sistemas, conexão em BPL. Beleza Celso, mas no caso como eu saberei qual BPL estou usando? Terei que adiciona-la manualmente? e como vc mesmo disse, tem como soh as bpls que eu desenvolvi? Uma perguntinha basica: realmente vale a pena esse trabalho todo? facilita muito mesmo? tipo, tenho um modulo contabil, aih eu modifiquei algo nele, eu tenho que enviar somente o bpl dele, ou o exe todo?, vamos supor que no cliente nao tinha este modulo contabil, eh soh eu enviar o bpl, e pronto? ou tenho que registrar no EXE? []s Fellipe H. Em 10/01/06, Celso Lorenzetti - GMail [EMAIL PROTECTED] escreveu: Sim, terá que enviar junto, todas as bpls que você utilizar recursos, inclusive as do delphi. Claro, você poderia modularizar em bpls somente para o desenvolvimento, e gerar um exe só. (eu acho, pelo menos). Eu utilizo, como te falei. - Original Message - From: Fellipe Henrique To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 10, 2006 12:11 PM Subject: Re: [delphi-br] Modular sistemas, conexão em BPL. Olá Celso, Primeiramente, obrigado por responder minhas questão :-)... so estou com uma duvida... no que diz respeito ao EXE.. você diz pra marcar Build with runtime packages, porem se eu fizer isso, terei que enviar o packages dos componentes que eu uso? Tipo JVCL? e etc..? Vi uma discussao a um tempo atras, so que meu servidor de email remove as msgs antigas, e eskeci de baixa-las... :-( Obrigado. []s Fellipe H. Em 10/01/06, Celso Lorenzetti - GMail [EMAIL PROTECTED] escreveu: Olá Fellipe, acho uma boa idéia, funciona assim... Crie uma bpl (Conexao.bpl) com um datamodule e nele coloque a conexão. (todas as outras coisas que serão compartilhadas entre mais de um módulo, podem ficar nesta mesma bpl, ou outra) nas outras bpls (contábil, por exemplo), adicione a Conexao.dcp ao Requiries da mesma, assim vc terá acesso as funcionalidades da outra bpl. No projeto do .exe, adicione também o Datamodule que vc criou com a conexão. Outra coisa,no mesmo projeto do .exe, vá em Project/Options/Packages/Runtime Packages e marque Build with runtime packages, e adicione no edit abaixo a sua bpl (Conexao.bpl). É isso. Espero que ajude, e no histórico da lista tem mais coisas também, dá uma olhada. t+ - Original Message - From: Fellipe Henrique To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 10, 2006 8:27 AM Subject: [delphi-br] Modular sistemas, conexão em BPL. Olá amigos, estou pensando em desenvolver um sistema complexo, muito grande, que inclui parte contabil, administrativa e etc.. para ficar fácil a manutencao e desenvolvimento, estou pensando em criar modulos BPL para tudo no sistema, eis que vio meu problema: Conexao. Estou usando Firebird, com IBX, porem queria apenas uma conexao com o banco, ou seja, criar um BPL, onde ficaria a conexao, e os outros BPL e a aplicacao principal, se ligaria a esse BPL Conexao, e faria a conexao com o banco de dados... Pois bem, por isto estou aqui, queria algumas dicas de como trabalhar com BPL, como faço esse esquema de conexao... Desde já agradeço a todos, _ Fellipe Henrique [EMAIL PROTECTED] Venham até a borda, ele disse. Eles disseram: Nós temos medo. Venham até a borda, ele insistiu. Eles foram, Ele os empurrou... E eles voaram. (Guillaume Apollinaire)
RES: [delphi-br] Modular sistemas, conexão em BPL.
Ola boa tarde. por enquanto havia ficado so lendo as msgmas bem, Estou a mais ou menos uns 4 meses criando um projeto com bpls a partir do zero. E SO ESTOU QUERENDO PASSAR A IDEIA DA COISA ...(depois vai da criatividade de cada um) As vantagems são aparentes, desde que o projeto seja algo que tem um nivel um pouco fora do normal de implementacoes diferente de um determinado processo/rotina para cada cliente, caso contrario ainda acredito que ter tudo em um unico exe e a melhor solucao. Levando em consideracao, com o uso de bpls, voce pode atualizar de forma mais facil, distribuir o trabalho para diversos programadores, ter n maneiras de implementacao do mesmo processosem falar na modularizacao... etc. O sistema que estou trabalhando usa um exe principal, encarregado de carregar um arquivo bpl. neste exe principal nao contem nada alem do codigo necessario para carregar este primeiro bpl; A partir deste primeiro bpl, contem/obtem informacoes de quais outros devem ser carregados. Neste primeiro bpl, tem o form principal, conexao com o bancoe procedimentos para a carga dos outros pacotes. O outros pacotes existentes, ou que venham a existir, importam procedimentos do primeiro (como conexao a base de dados) e exportam informacoes (itens de menus, formsetc). Fazendo com que simplesmente...se o pacote existir o pacote principal (primeiro) vai obter informacoes do mesmo, criar os itens de menus, barras de ferramentes, conexao com o banco para dar suporte a ele. Tirando o pacote...as opçoes disponiveis do mesmo automaticamente estarao indisponiveis Ai vem a ideia de vender um programa para um clientee derrepente...ele pedir...me coloca aquele planco de contas com ...(ai eu mando um bpl pra elel...ele o coloca no diretorio definido...e prontoabre o sistema eta la o menu de plano de contas xxx pro cara cadastrar o plano de contas e usar). Atenciosamente Elazar Dornelles Ceza [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html