Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Concordo... Ricardo César Cardoso escreveu: Por mim vcs podem continuar pq a conversa está sendo MUITO exclarecedora. Fellipe Henrique wrote: Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né? Joao Morais [EMAIL PROTECTED] mailto:post%40joaomorais.com.br escreveu: Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá interessado na thread. Alertas do Yahoo! Mail em seu celular. Saiba mais. [As partes desta mensagem que não continham texto foram removidas] ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Olá João, Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei que se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio IO. :o) Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto nele, como é este projeto? Digo, quanto de dados tem nele? É que estoiu pensando eu usar o IO, você aconcelharia o uso dele? Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold para Win32, ela é boa? Melhor que o IO? Ah, estou pensando em modularizar o sistema, usando BPL, acha aconselhavel isso no IO? Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar um projeto grande com algo que não fosse preciso refazer ou ter muito trabalho depois na manutenção. Obrigado. Em 02/08/07, Joao Morais [EMAIL PROTECTED] escreveu: Fellipe Henrique wrote: Olá amigos, gostaria de saber dos amigos que mexem com o InstantObjects, se eu ao alterar um modelo, acresentando um Field e tals.. ele atualiza meu banco de dados automaticamente. Tem o evolver, ele atualiza o banco de acordo com o modelo. Se não existe algo que faz isso? Essa história de fazer sozinho é igual programa da M$. De vez em quando ele pensa errado e faz o que não devia. O próprio evolver não é perfeito, ex., ele não tem como discernir entre uma coluna com nome alterado e remover uma coluna para acrescentar outra. Se você quer uma coisa bem feita, então grave a versão do metadados do banco ou a versão do sistema dentro do próprio banco. No seu sistema, para cada nova versão de banco, grave a string dos ddl que você precisa executar para atualizar. Ao comparar a versão do metadados que está no cliente, você saberá quais conjuntos de ddl tem que ser executado para que o banco esteja pronto para uso. -- Joao Morais -- _ Fellipe Henrique [EMAIL PROTECTED] Você valoriza a existêcia das pessoas extraordinárias e momentos em que a história avança graças a elas. Tudo o que se imagina pode ser alcançado. Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho... e trabalho em equipe. Por que ninguém consegue sozinho. Se comemoramos a grandeza desses eventos e as pessoas que os realizam... não podemos esquecer o sacrifício daqueles que tornam possíveis tais realizações. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Opa.. comecei a me interessar... :o) Esse MVP, o Press já o faz? Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe isso? []s Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu: Fellipe Henrique wrote: Joao, O maior problema do Press (neste momento) é ter que fazer tudo na mão... sei que isso ajuda a desenvolver e a entender o funcionamento, mas gera um trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a versão no site do Press, e o único exemplo que eu vi, não usava DBWares, isso no Press é obrigatório? Visto que no IO eu posso utilizá-los. Sem problema Felipe. Você pediu conselho, e conselho é dado com base na experiência e no ponto de vista daquele que o transmite. Você não é obrigado a segui-los porque você pode pensar de uma forma completamente diferente. Quanto a dbware, esquece. Você usa MVP. Ao invés de configurar controles dbware no formulário, você cria linhas neste formato: CreateSubPresenter('nome_atributo_objeto_de_negocio', 'nome_controleform', 'nome_atributo_display'); Isto é suficiente para o controle ganhar vida: ligar um combo ao form pra ser usado para criar mais itens ou alterar o item atual, ligar um string grid ao form que inclui ou altera itens, etc. Quanto dbware com IO, você não *pode* utilizá-lo, você é *obrigado* a utilizá-lo e é aí aonde mora o problema. Como eu te disse: se você está feliz com dbware, então você poderá se dar bem com IO e eu deixo de ser a pessoa mais indicada a dar conselhos. Se você tem ressalvas quanto a dbware, então MVP é o caminho para você. -- Joao Morais []s Em 03/08/07, Joao Morais [EMAIL PROTECTED]post%40joaomorais.com.br escreveu: Fellipe Henrique wrote: Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei que se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio IO. :o) Mesmo usando um framework de mapeamento, eu recomendo você usar alter table e mandar diretamente para o banco. Assim você tem um controle melhor do que está acontecendo. E este código, por sinal, pode ser construido com a ajuda do evolver do IO. Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto nele, como é este projeto? Digo, quanto de dados tem nele? É que estoiu pensando eu usar o IO, você aconcelharia o uso dele? Não tenho projetos enormes, o maior deles tem umas 40 classes que foram transformadas em 60 tabelas. Este projeto tem relacionamentos complexos que me botaram doido quando usava tdataset. O IO me ajudou montes para construir a lógica, mas me quebrou as pernas quando passei para a apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press tem maturidade suficiente para tocar todo o projeto adiante, e eu estou mantendo IO apenas em projetos que já foram entregues com ele. Então, se eu fosse aconselhar você, diria para você dedicar tempo estudando Press. Mas conselho não é suficiente, eu não tive sucesso com tdataset em projetos de verdade, tive sucesso com IO só na parte de regras de negócio, mas tem muita gente que só usa tdataset é tá feliz da vida. Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem, agora cabe apenas a você, e talvez outras pessoas da sua equipe, decidirem que caminho tomar. Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold para Win32, ela é boa? Melhor que o IO? Falavam muito bem do Bold, mas eu não o conheço para te dar a minha opinião sobre ele. Exceto que: ele não usa um padrão orientado a objetos para a apresentação; e ele está descontinuado e foi usado como base para construir o ECO. Ah, estou pensando em modularizar o sistema, usando BPL, acha aconselhavel isso no IO? Enquanto a declaração das suas classes de negócio estiverem no módulo principal (exe), tudo bem. Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar um projeto grande com algo que não fosse preciso refazer ou ter muito trabalho depois na manutenção. Você está procurando um início mais prático e usar InstantObjects é provavelmente o melhor deles. Para saber se você vai ter problemas no futuro, seja com produtividade ou manutenção do código, vai depender do seu jeito de trabalhar (pergunta mais importante: você gosta de tdataset?), o que você espera de uma ferramenta e o que você espera da equipe que a desenvolve e a mantém. -- Joao Morais -- _ Fellipe Henrique [EMAIL PROTECTED] Você valoriza a existêcia das pessoas extraordinárias e momentos em que a história avança graças a elas. Tudo o que se imagina pode ser alcançado. Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho... e trabalho em equipe. Por que ninguém
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Fellipe Henrique wrote: Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei que se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio IO. :o) Mesmo usando um framework de mapeamento, eu recomendo você usar alter table e mandar diretamente para o banco. Assim você tem um controle melhor do que está acontecendo. E este código, por sinal, pode ser construido com a ajuda do evolver do IO. Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto nele, como é este projeto? Digo, quanto de dados tem nele? É que estoiu pensando eu usar o IO, você aconcelharia o uso dele? Não tenho projetos enormes, o maior deles tem umas 40 classes que foram transformadas em 60 tabelas. Este projeto tem relacionamentos complexos que me botaram doido quando usava tdataset. O IO me ajudou montes para construir a lógica, mas me quebrou as pernas quando passei para a apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press tem maturidade suficiente para tocar todo o projeto adiante, e eu estou mantendo IO apenas em projetos que já foram entregues com ele. Então, se eu fosse aconselhar você, diria para você dedicar tempo estudando Press. Mas conselho não é suficiente, eu não tive sucesso com tdataset em projetos de verdade, tive sucesso com IO só na parte de regras de negócio, mas tem muita gente que só usa tdataset é tá feliz da vida. Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem, agora cabe apenas a você, e talvez outras pessoas da sua equipe, decidirem que caminho tomar. Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold para Win32, ela é boa? Melhor que o IO? Falavam muito bem do Bold, mas eu não o conheço para te dar a minha opinião sobre ele. Exceto que: ele não usa um padrão orientado a objetos para a apresentação; e ele está descontinuado e foi usado como base para construir o ECO. Ah, estou pensando em modularizar o sistema, usando BPL, acha aconselhavel isso no IO? Enquanto a declaração das suas classes de negócio estiverem no módulo principal (exe), tudo bem. Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar um projeto grande com algo que não fosse preciso refazer ou ter muito trabalho depois na manutenção. Você está procurando um início mais prático e usar InstantObjects é provavelmente o melhor deles. Para saber se você vai ter problemas no futuro, seja com produtividade ou manutenção do código, vai depender do seu jeito de trabalhar (pergunta mais importante: você gosta de tdataset?), o que você espera de uma ferramenta e o que você espera da equipe que a desenvolve e a mantém. -- Joao Morais
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Fellipe Henrique wrote: Joao, O maior problema do Press (neste momento) é ter que fazer tudo na mão... sei que isso ajuda a desenvolver e a entender o funcionamento, mas gera um trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a versão no site do Press, e o único exemplo que eu vi, não usava DBWares, isso no Press é obrigatório? Visto que no IO eu posso utilizá-los. Sem problema Felipe. Você pediu conselho, e conselho é dado com base na experiência e no ponto de vista daquele que o transmite. Você não é obrigado a segui-los porque você pode pensar de uma forma completamente diferente. Quanto a dbware, esquece. Você usa MVP. Ao invés de configurar controles dbware no formulário, você cria linhas neste formato: CreateSubPresenter('nome_atributo_objeto_de_negocio', 'nome_controleform', 'nome_atributo_display'); Isto é suficiente para o controle ganhar vida: ligar um combo ao form pra ser usado para criar mais itens ou alterar o item atual, ligar um string grid ao form que inclui ou altera itens, etc. Quanto dbware com IO, você não *pode* utilizá-lo, você é *obrigado* a utilizá-lo e é aí aonde mora o problema. Como eu te disse: se você está feliz com dbware, então você poderá se dar bem com IO e eu deixo de ser a pessoa mais indicada a dar conselhos. Se você tem ressalvas quanto a dbware, então MVP é o caminho para você. -- Joao Morais []s Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu: Fellipe Henrique wrote: Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei que se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio IO. :o) Mesmo usando um framework de mapeamento, eu recomendo você usar alter table e mandar diretamente para o banco. Assim você tem um controle melhor do que está acontecendo. E este código, por sinal, pode ser construido com a ajuda do evolver do IO. Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto nele, como é este projeto? Digo, quanto de dados tem nele? É que estoiu pensando eu usar o IO, você aconcelharia o uso dele? Não tenho projetos enormes, o maior deles tem umas 40 classes que foram transformadas em 60 tabelas. Este projeto tem relacionamentos complexos que me botaram doido quando usava tdataset. O IO me ajudou montes para construir a lógica, mas me quebrou as pernas quando passei para a apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press tem maturidade suficiente para tocar todo o projeto adiante, e eu estou mantendo IO apenas em projetos que já foram entregues com ele. Então, se eu fosse aconselhar você, diria para você dedicar tempo estudando Press. Mas conselho não é suficiente, eu não tive sucesso com tdataset em projetos de verdade, tive sucesso com IO só na parte de regras de negócio, mas tem muita gente que só usa tdataset é tá feliz da vida. Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem, agora cabe apenas a você, e talvez outras pessoas da sua equipe, decidirem que caminho tomar. Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold para Win32, ela é boa? Melhor que o IO? Falavam muito bem do Bold, mas eu não o conheço para te dar a minha opinião sobre ele. Exceto que: ele não usa um padrão orientado a objetos para a apresentação; e ele está descontinuado e foi usado como base para construir o ECO. Ah, estou pensando em modularizar o sistema, usando BPL, acha aconselhavel isso no IO? Enquanto a declaração das suas classes de negócio estiverem no módulo principal (exe), tudo bem. Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar um projeto grande com algo que não fosse preciso refazer ou ter muito trabalho depois na manutenção. Você está procurando um início mais prático e usar InstantObjects é provavelmente o melhor deles. Para saber se você vai ter problemas no futuro, seja com produtividade ou manutenção do código, vai depender do seu jeito de trabalhar (pergunta mais importante: você gosta de tdataset?), o que você espera de uma ferramenta e o que você espera da equipe que a desenvolve e a mantém. -- Joao Morais
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Fellipe Henrique wrote: Opa.. comecei a me interessar... :o) Esse MVP, o Press já o faz? Hei, quando eu falo que estou usando Press em produção, eu estou falando sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito* estável e com maturidade. Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe isso? Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda melhor, que é o que eu faço e posso te passar o código. Para Telefone, CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer: Fone: String(15); eu faço: Fone: TMeuTipoFone(15); É isto que eu chamo de reaproveitamento de código, e é nestes detalhes que Press é superior ao feijão com arroz com o qual o pessoal está acostumado (inclusive IO). -- Joao Morais Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu: Fellipe Henrique wrote: Joao, O maior problema do Press (neste momento) é ter que fazer tudo na mão... sei que isso ajuda a desenvolver e a entender o funcionamento, mas gera um trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a versão no site do Press, e o único exemplo que eu vi, não usava DBWares, isso no Press é obrigatório? Visto que no IO eu posso utilizá-los. Sem problema Felipe. Você pediu conselho, e conselho é dado com base na experiência e no ponto de vista daquele que o transmite. Você não é obrigado a segui-los porque você pode pensar de uma forma completamente diferente. Quanto a dbware, esquece. Você usa MVP. Ao invés de configurar controles dbware no formulário, você cria linhas neste formato: CreateSubPresenter('nome_atributo_objeto_de_negocio', 'nome_controleform', 'nome_atributo_display'); Isto é suficiente para o controle ganhar vida: ligar um combo ao form pra ser usado para criar mais itens ou alterar o item atual, ligar um string grid ao form que inclui ou altera itens, etc. Quanto dbware com IO, você não *pode* utilizá-lo, você é *obrigado* a utilizá-lo e é aí aonde mora o problema. Como eu te disse: se você está feliz com dbware, então você poderá se dar bem com IO e eu deixo de ser a pessoa mais indicada a dar conselhos. Se você tem ressalvas quanto a dbware, então MVP é o caminho para você. -- Joao Morais []s Em 03/08/07, Joao Morais [EMAIL PROTECTED]post%40joaomorais.com.br escreveu: Fellipe Henrique wrote: Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei que se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio IO. :o) Mesmo usando um framework de mapeamento, eu recomendo você usar alter table e mandar diretamente para o banco. Assim você tem um controle melhor do que está acontecendo. E este código, por sinal, pode ser construido com a ajuda do evolver do IO. Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto nele, como é este projeto? Digo, quanto de dados tem nele? É que estoiu pensando eu usar o IO, você aconcelharia o uso dele? Não tenho projetos enormes, o maior deles tem umas 40 classes que foram transformadas em 60 tabelas. Este projeto tem relacionamentos complexos que me botaram doido quando usava tdataset. O IO me ajudou montes para construir a lógica, mas me quebrou as pernas quando passei para a apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press tem maturidade suficiente para tocar todo o projeto adiante, e eu estou mantendo IO apenas em projetos que já foram entregues com ele. Então, se eu fosse aconselhar você, diria para você dedicar tempo estudando Press. Mas conselho não é suficiente, eu não tive sucesso com tdataset em projetos de verdade, tive sucesso com IO só na parte de regras de negócio, mas tem muita gente que só usa tdataset é tá feliz da vida. Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem, agora cabe apenas a você, e talvez outras pessoas da sua equipe, decidirem que caminho tomar. Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold para Win32, ela é boa? Melhor que o IO? Falavam muito bem do Bold, mas eu não o conheço para te dar a minha opinião sobre ele. Exceto que: ele não usa um padrão orientado a objetos para a apresentação; e ele está descontinuado e foi usado como base para construir o ECO. Ah, estou pensando em modularizar o sistema, usando BPL, acha aconselhavel isso no IO? Enquanto a declaração das suas classes de negócio estiverem no módulo principal (exe), tudo bem. Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar um projeto grande com algo que não fosse preciso refazer ou ter muito trabalho depois na manutenção. Você está procurando um início mais prático e usar InstantObjects é provavelmente o melhor deles. Para
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né? No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso demais o cxGrid da DevExpress... E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que eles conseguem pegar o Press? []s Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu: Fellipe Henrique wrote: Opa.. comecei a me interessar... :o) Esse MVP, o Press já o faz? Hei, quando eu falo que estou usando Press em produção, eu estou falando sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito* estável e com maturidade. Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe isso? Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda melhor, que é o que eu faço e posso te passar o código. Para Telefone, CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer: Fone: String(15); eu faço: Fone: TMeuTipoFone(15); É isto que eu chamo de reaproveitamento de código, e é nestes detalhes que Press é superior ao feijão com arroz com o qual o pessoal está acostumado (inclusive IO). -- Joao Morais Em 03/08/07, Joao Morais [EMAIL PROTECTED]post%40joaomorais.com.br escreveu: Fellipe Henrique wrote: Joao, O maior problema do Press (neste momento) é ter que fazer tudo na mão... sei que isso ajuda a desenvolver e a entender o funcionamento, mas gera um trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a versão no site do Press, e o único exemplo que eu vi, não usava DBWares, isso no Press é obrigatório? Visto que no IO eu posso utilizá-los. Sem problema Felipe. Você pediu conselho, e conselho é dado com base na experiência e no ponto de vista daquele que o transmite. Você não é obrigado a segui-los porque você pode pensar de uma forma completamente diferente. Quanto a dbware, esquece. Você usa MVP. Ao invés de configurar controles dbware no formulário, você cria linhas neste formato: CreateSubPresenter('nome_atributo_objeto_de_negocio', 'nome_controleform', 'nome_atributo_display'); Isto é suficiente para o controle ganhar vida: ligar um combo ao form pra ser usado para criar mais itens ou alterar o item atual, ligar um string grid ao form que inclui ou altera itens, etc. Quanto dbware com IO, você não *pode* utilizá-lo, você é *obrigado* a utilizá-lo e é aí aonde mora o problema. Como eu te disse: se você está feliz com dbware, então você poderá se dar bem com IO e eu deixo de ser a pessoa mais indicada a dar conselhos. Se você tem ressalvas quanto a dbware, então MVP é o caminho para você. -- Joao Morais []s Em 03/08/07, Joao Morais [EMAIL PROTECTED]post%40joaomorais.com.br post%40joaomorais.com.br escreveu: Fellipe Henrique wrote: Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei que se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio IO. :o) Mesmo usando um framework de mapeamento, eu recomendo você usar alter table e mandar diretamente para o banco. Assim você tem um controle melhor do que está acontecendo. E este código, por sinal, pode ser construido com a ajuda do evolver do IO. Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto nele, como é este projeto? Digo, quanto de dados tem nele? É que estoiu pensando eu usar o IO, você aconcelharia o uso dele? Não tenho projetos enormes, o maior deles tem umas 40 classes que foram transformadas em 60 tabelas. Este projeto tem relacionamentos complexos que me botaram doido quando usava tdataset. O IO me ajudou montes para construir a lógica, mas me quebrou as pernas quando passei para a apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press tem maturidade suficiente para tocar todo o projeto adiante, e eu estou mantendo IO apenas em projetos que já foram entregues com ele. Então, se eu fosse aconselhar você, diria para você dedicar tempo estudando Press. Mas conselho não é suficiente, eu não tive sucesso com tdataset em projetos de verdade, tive sucesso com IO só na parte de regras de negócio, mas tem muita gente que só usa tdataset é tá feliz da vida. Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem, agora cabe apenas a você, e talvez outras pessoas da sua equipe, decidirem que caminho tomar. Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold para Win32, ela é boa? Melhor que o IO? Falavam muito bem do Bold, mas eu não o conheço para te dar a minha opinião sobre ele. Exceto que: ele não usa um padrão orientado a objetos para a apresentação; e ele está descontinuado e foi usado
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Fellipe Henrique wrote: Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né? Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá interessado na thread. No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso demais o cxGrid da DevExpress... Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, assim como existe view para StringGrid. E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que eles conseguem pegar o Press? Primeiro um conceito: tudo o que é nativo está implementado em Core e não tem nenhuma dependência externa. Tudo o que gera uma dependência é um Broker (negociador) e a implementação é separada. Os relatórios construidos para Delphi entendem apenas de tdataset, eles não tem como alcançar os dados em um objeto de negócio, então é necessário um negociador entre o módulo de relatório e o componente gerenciador de relatórios. Press tem um negociador para FastReport. Eu não conheço ReportBuilder, se ele tiver um designer para tempo de execução e tiver um componente para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais fácil de construir um negociador para ele. -- Joao Morais Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu: Fellipe Henrique wrote: Opa.. comecei a me interessar... :o) Esse MVP, o Press já o faz? Hei, quando eu falo que estou usando Press em produção, eu estou falando sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito* estável e com maturidade. Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe isso? Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda melhor, que é o que eu faço e posso te passar o código. Para Telefone, CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer: Fone: String(15); eu faço: Fone: TMeuTipoFone(15); É isto que eu chamo de reaproveitamento de código, e é nestes detalhes que Press é superior ao feijão com arroz com o qual o pessoal está acostumado (inclusive IO). -- Joao Morais
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Joao, O maior problema do Press (neste momento) é ter que fazer tudo na mão... sei que isso ajuda a desenvolver e a entender o funcionamento, mas gera um trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a versão no site do Press, e o único exemplo que eu vi, não usava DBWares, isso no Press é obrigatório? Visto que no IO eu posso utilizá-los. []s Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu: Fellipe Henrique wrote: Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei que se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio IO. :o) Mesmo usando um framework de mapeamento, eu recomendo você usar alter table e mandar diretamente para o banco. Assim você tem um controle melhor do que está acontecendo. E este código, por sinal, pode ser construido com a ajuda do evolver do IO. Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto nele, como é este projeto? Digo, quanto de dados tem nele? É que estoiu pensando eu usar o IO, você aconcelharia o uso dele? Não tenho projetos enormes, o maior deles tem umas 40 classes que foram transformadas em 60 tabelas. Este projeto tem relacionamentos complexos que me botaram doido quando usava tdataset. O IO me ajudou montes para construir a lógica, mas me quebrou as pernas quando passei para a apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press tem maturidade suficiente para tocar todo o projeto adiante, e eu estou mantendo IO apenas em projetos que já foram entregues com ele. Então, se eu fosse aconselhar você, diria para você dedicar tempo estudando Press. Mas conselho não é suficiente, eu não tive sucesso com tdataset em projetos de verdade, tive sucesso com IO só na parte de regras de negócio, mas tem muita gente que só usa tdataset é tá feliz da vida. Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem, agora cabe apenas a você, e talvez outras pessoas da sua equipe, decidirem que caminho tomar. Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold para Win32, ela é boa? Melhor que o IO? Falavam muito bem do Bold, mas eu não o conheço para te dar a minha opinião sobre ele. Exceto que: ele não usa um padrão orientado a objetos para a apresentação; e ele está descontinuado e foi usado como base para construir o ECO. Ah, estou pensando em modularizar o sistema, usando BPL, acha aconselhavel isso no IO? Enquanto a declaração das suas classes de negócio estiverem no módulo principal (exe), tudo bem. Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar um projeto grande com algo que não fosse preciso refazer ou ter muito trabalho depois na manutenção. Você está procurando um início mais prático e usar InstantObjects é provavelmente o melhor deles. Para saber se você vai ter problemas no futuro, seja com produtividade ou manutenção do código, vai depender do seu jeito de trabalhar (pergunta mais importante: você gosta de tdataset?), o que você espera de uma ferramenta e o que você espera da equipe que a desenvolve e a mantém. -- Joao Morais -- _ Fellipe Henrique [EMAIL PROTECTED] Você valoriza a existêcia das pessoas extraordinárias e momentos em que a história avança graças a elas. Tudo o que se imagina pode ser alcançado. Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho... e trabalho em equipe. Por que ninguém consegue sozinho. Se comemoramos a grandeza desses eventos e as pessoas que os realizam... não podemos esquecer o sacrifício daqueles que tornam possíveis tais realizações. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Tem sim.. o ReportBuilder tem um ppUserPipeLine... já melhorou demais... eu uso o cxGrid da DevExpress porque ele é simplesmente o melhor Grid que existe.. :o).. se faz de tudo nele, agrupamento.. somatório... se bem, que há uma possíbilidade de usar o cxGrid, sem vínculo com DataSet, como se fosse Grid normal, vi isso agora... Cara, já baixei a versão 27 do Press, e este fim de semana irei ver ele a fundo... gostei muito da idéia dele... mas me diga uma coisa.. eu como nunca mexi com este tipo de informação e tals.. esse negócio de não usar DBWare, não deixa lento o sistema, ou é o contrário? Ah.. no SVN tem algo a mais que na versão 27 do Press? []s Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu: Fellipe Henrique wrote: Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né? Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá interessado na thread. No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso demais o cxGrid da DevExpress... Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, assim como existe view para StringGrid. E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que eles conseguem pegar o Press? Primeiro um conceito: tudo o que é nativo está implementado em Core e não tem nenhuma dependência externa. Tudo o que gera uma dependência é um Broker (negociador) e a implementação é separada. Os relatórios construidos para Delphi entendem apenas de tdataset, eles não tem como alcançar os dados em um objeto de negócio, então é necessário um negociador entre o módulo de relatório e o componente gerenciador de relatórios. Press tem um negociador para FastReport. Eu não conheço ReportBuilder, se ele tiver um designer para tempo de execução e tiver um componente para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais fácil de construir um negociador para ele. -- Joao Morais [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Eu to achando a thread interessante. Andei procurando por MVP no Google. É alguma coisa relacionada com uma biblioteca procedural ou algo assim? De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Joao Morais Enviada em: sexta-feira, 3 de agosto de 2007 13:43 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? Fellipe Henrique wrote: Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né? Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá interessado na thread. No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso demais o cxGrid da DevExpress... Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, assim como existe view para StringGrid. E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que eles conseguem pegar o Press? Primeiro um conceito: tudo o que é nativo está implementado em Core e não tem nenhuma dependência externa. Tudo o que gera uma dependência é um Broker (negociador) e a implementação é separada. Os relatórios construidos para Delphi entendem apenas de tdataset, eles não tem como alcançar os dados em um objeto de negócio, então é necessário um negociador entre o módulo de relatório e o componente gerenciador de relatórios. Press tem um negociador para FastReport. Eu não conheço ReportBuilder, se ele tiver um designer para tempo de execução e tiver um componente para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais fácil de construir um negociador para ele. -- Joao Morais Em 03/08/07, Joao Morais [EMAIL PROTECTED] mailto:post%40joaomorais.com.br escreveu: Fellipe Henrique wrote: Opa.. comecei a me interessar... :o) Esse MVP, o Press já o faz? Hei, quando eu falo que estou usando Press em produção, eu estou falando sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito* estável e com maturidade. Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe isso? Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda melhor, que é o que eu faço e posso te passar o código. Para Telefone, CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer: Fone: String(15); eu faço: Fone: TMeuTipoFone(15); É isto que eu chamo de reaproveitamento de código, e é nestes detalhes que Press é superior ao feijão com arroz com o qual o pessoal está acostumado (inclusive IO). -- Joao Morais [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Fellipe Henrique wrote: Tem sim.. o ReportBuilder tem um ppUserPipeLine... já melhorou demais... eu uso o cxGrid da DevExpress porque ele é simplesmente o melhor Grid que existe.. :o).. se faz de tudo nele, agrupamento.. somatório... se bem, que há uma possíbilidade de usar o cxGrid, sem vínculo com DataSet, como se fosse Grid normal, vi isso agora... Não sei o que exatamente você quer dizer com agrupamento. Somatório e qualquer outro campo calculado você pode criar no próprio objeto de negócio. Cara, já baixei a versão 27 do Press, e este fim de semana irei ver ele a fundo... 27? Ele nem chegou na versão 1 ainda. Você deve estar falando da revisão no svn, seria então 427. No site já tem uma revisão mais nova (550) e também no subversion (neste momento está em 551). gostei muito da idéia dele... mas me diga uma coisa.. eu como nunca mexi com este tipo de informação e tals.. esse negócio de não usar DBWare, não deixa lento o sistema, ou é o contrário? O que deixa o sistema lento é o acesso a dados. Press é um pouco mais lento do que tdataset, mas isto já está na prancheta para ser melhorado e vai virar passado. O que o pessoal chama de lento é aquela implementação acadêmica que consiste em fazer uma pesquisa em uma tabela, a pesquisa retorna mil registros e o camarada lê os mil de uma só vez para transformar em objetos. Qualquer opf razoável lê apenas o Id do registro e recupera as demais informações sob demanda, apenas quando elas forem realmente necessárias. -- Joao Morais
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Por mim vcs podem continuar pq a conversa está sendo MUITO exclarecedora. Fellipe Henrique wrote: Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né? Joao Morais [EMAIL PROTECTED] escreveu: Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá interessado na thread. Alertas do Yahoo! Mail em seu celular. Saiba mais. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Ou cara, foi mal... o que quis dizer foi versão 29 de 29072007.. hehe... o que quiz dizer com agrupamentos foi, que o grid cria grupos e se voce clicar no maiszinho que fica ao lado, expande os registros pertencentes à aquele grupo e por aí vai, fora outras coisas muito boas... :o) Vou fazer o seguinte, acho que vou baixar a ultima versao do SVN... e iniciar um projetinho de teste.. somente uns cadastrinhos e tals, master-detail... pra ir aprimorando ah.. outra coisa que percebi... ao criar os objetos, tudo fica numa Unit só não é?! não seria interessante - caso seja possível - uma Unit por modelo? sabe.. vamos supor.. o que for financeiro, numa unit, cadastro noutra e etc... tem lógica o que eu falei? []s Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu: Fellipe Henrique wrote: Tem sim.. o ReportBuilder tem um ppUserPipeLine... já melhorou demais... eu uso o cxGrid da DevExpress porque ele é simplesmente o melhor Grid que existe.. :o).. se faz de tudo nele, agrupamento.. somatório... se bem, que há uma possíbilidade de usar o cxGrid, sem vínculo com DataSet, como se fosse Grid normal, vi isso agora... Não sei o que exatamente você quer dizer com agrupamento. Somatório e qualquer outro campo calculado você pode criar no próprio objeto de negócio. Cara, já baixei a versão 27 do Press, e este fim de semana irei ver ele a fundo... 27? Ele nem chegou na versão 1 ainda. Você deve estar falando da revisão no svn, seria então 427. No site já tem uma revisão mais nova (550) e também no subversion (neste momento está em 551). gostei muito da idéia dele... mas me diga uma coisa.. eu como nunca mexi com este tipo de informação e tals.. esse negócio de não usar DBWare, não deixa lento o sistema, ou é o contrário? O que deixa o sistema lento é o acesso a dados. Press é um pouco mais lento do que tdataset, mas isto já está na prancheta para ser melhorado e vai virar passado. O que o pessoal chama de lento é aquela implementação acadêmica que consiste em fazer uma pesquisa em uma tabela, a pesquisa retorna mil registros e o camarada lê os mil de uma só vez para transformar em objetos. Qualquer opf razoável lê apenas o Id do registro e recupera as demais informações sob demanda, apenas quando elas forem realmente necessárias. -- Joao Morais -- _ Fellipe Henrique [EMAIL PROTECTED] Você valoriza a existêcia das pessoas extraordinárias e momentos em que a história avança graças a elas. Tudo o que se imagina pode ser alcançado. Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho... e trabalho em equipe. Por que ninguém consegue sozinho. Se comemoramos a grandeza desses eventos e as pessoas que os realizam... não podemos esquecer o sacrifício daqueles que tornam possíveis tais realizações. [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? (Joao Morais)
Será que a minha pergunta foi tão estúpida assim para ser ignorada??? De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi Eduardo Borges Wall Enviada em: sexta-feira, 3 de agosto de 2007 14:05 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? Eu to achando a thread interessante. Andei procurando por MVP no Google. É alguma coisa relacionada com uma biblioteca procedural ou algo assim? De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Joao Morais Enviada em: sexta-feira, 3 de agosto de 2007 13:43 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? Fellipe Henrique wrote: Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né? Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá interessado na thread. No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso demais o cxGrid da DevExpress... Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, assim como existe view para StringGrid. E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que eles conseguem pegar o Press? Primeiro um conceito: tudo o que é nativo está implementado em Core e não tem nenhuma dependência externa. Tudo o que gera uma dependência é um Broker (negociador) e a implementação é separada. Os relatórios construidos para Delphi entendem apenas de tdataset, eles não tem como alcançar os dados em um objeto de negócio, então é necessário um negociador entre o módulo de relatório e o componente gerenciador de relatórios. Press tem um negociador para FastReport. Eu não conheço ReportBuilder, se ele tiver um designer para tempo de execução e tiver um componente para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais fácil de construir um negociador para ele. -- Joao Morais Em 03/08/07, Joao Morais [EMAIL PROTECTED] mailto:post%40joaomorais.com.br mailto:post%40joaomorais.com.br escreveu: Fellipe Henrique wrote: Opa.. comecei a me interessar... :o) Esse MVP, o Press já o faz? Hei, quando eu falo que estou usando Press em produção, eu estou falando sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito* estável e com maturidade. Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe isso? Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda melhor, que é o que eu faço e posso te passar o código. Para Telefone, CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer: Fone: String(15); eu faço: Fone: TMeuTipoFone(15); É isto que eu chamo de reaproveitamento de código, e é nestes detalhes que Press é superior ao feijão com arroz com o qual o pessoal está acostumado (inclusive IO). -- Joao Morais [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? (Joao Morais)
Acho que não mas o conceito de MVP é um pouco mais do que isso. Dá uma olhada neste link [http://www.javafree.org/content/view.jf?idContent=91] que vc vai entender. Sds, Ricardo. Davi Eduardo Borges Wall [EMAIL PROTECTED] escreveu: Será que a minha pergunta foi tão estúpida assim para ser ignorada??? De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi Eduardo Borges Wall Enviada em: sexta-feira, 3 de agosto de 2007 14:05 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? Eu to achando a thread interessante. Andei procurando por MVP no Google. É alguma coisa relacionada com uma biblioteca procedural ou algo assim? De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Joao Morais Enviada em: sexta-feira, 3 de agosto de 2007 13:43 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? Fellipe Henrique wrote: Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né? Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá interessado na thread. No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso demais o cxGrid da DevExpress... Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, assim como existe view para StringGrid. E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que eles conseguem pegar o Press? Primeiro um conceito: tudo o que é nativo está implementado em Core e não tem nenhuma dependência externa. Tudo o que gera uma dependência é um Broker (negociador) e a implementação é separada. Os relatórios construidos para Delphi entendem apenas de tdataset, eles não tem como alcançar os dados em um objeto de negócio, então é necessário um negociador entre o módulo de relatório e o componente gerenciador de relatórios. Press tem um negociador para FastReport. Eu não conheço ReportBuilder, se ele tiver um designer para tempo de execução e tiver um componente para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais fácil de construir um negociador para ele. -- Joao Morais Em 03/08/07, Joao Morais [EMAIL PROTECTED] mailto:post%40joaomorais.com.br mailto:post%40joaomorais.com.br escreveu: Fellipe Henrique wrote: Opa.. comecei a me interessar... :o) Esse MVP, o Press já o faz? Hei, quando eu falo que estou usando Press em produção, eu estou falando sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito* estável e com maturidade. Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe isso? Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda melhor, que é o que eu faço e posso te passar o código. Para Telefone, CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer: Fone: String(15); eu faço: Fone: TMeuTipoFone(15); É isto que eu chamo de reaproveitamento de código, e é nestes detalhes que Press é superior ao feijão com arroz com o qual o pessoal está acostumado (inclusive IO). -- Joao Morais [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] Alertas do Yahoo! Mail em seu celular. Saiba mais. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Fellipe Henrique wrote: ah.. outra coisa que percebi... ao criar os objetos, tudo fica numa Unit só não é?! não seria interessante - caso seja possível - uma Unit por modelo? sabe.. vamos supor.. o que for financeiro, numa unit, cadastro noutra e etc... tem lógica o que eu falei? Só estão em uma única unit porque foram implementados em apenas uma. Meus projetos são divididos exatamente como você citou. -- Joao Morais
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? (Joao Morais)
Amigo, este link podera responder as suas duvidas... http://www.devmedia.com.br/articles/viewcomp.asp?comp=3043 - Original Message - From: Davi Eduardo Borges Wall To: delphi-br@yahoogrupos.com.br Sent: Friday, August 03, 2007 4:31 PM Subject: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? (Joao Morais) Será que a minha pergunta foi tão estúpida assim para ser ignorada??? De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi Eduardo Borges Wall Enviada em: sexta-feira, 3 de agosto de 2007 14:05 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? Eu to achando a thread interessante. Andei procurando por MVP no Google. É alguma coisa relacionada com uma biblioteca procedural ou algo assim? De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Joao Morais Enviada em: sexta-feira, 3 de agosto de 2007 13:43 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? Fellipe Henrique wrote: Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né? Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá interessado na thread. No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso demais o cxGrid da DevExpress... Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, assim como existe view para StringGrid. E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que eles conseguem pegar o Press? Primeiro um conceito: tudo o que é nativo está implementado em Core e não tem nenhuma dependência externa. Tudo o que gera uma dependência é um Broker (negociador) e a implementação é separada. Os relatórios construidos para Delphi entendem apenas de tdataset, eles não tem como alcançar os dados em um objeto de negócio, então é necessário um negociador entre o módulo de relatório e o componente gerenciador de relatórios. Press tem um negociador para FastReport. Eu não conheço ReportBuilder, se ele tiver um designer para tempo de execução e tiver um componente para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais fácil de construir um negociador para ele. -- Joao Morais Em 03/08/07, Joao Morais [EMAIL PROTECTED] mailto:post%40joaomorais.com.br mailto:post%40joaomorais.com.br escreveu: Fellipe Henrique wrote: Opa.. comecei a me interessar... :o) Esse MVP, o Press já o faz? Hei, quando eu falo que estou usando Press em produção, eu estou falando sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito* estável e com maturidade. Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe isso? Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda melhor, que é o que eu faço e posso te passar o código. Para Telefone, CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer: Fone: String(15); eu faço: Fone: TMeuTipoFone(15); É isto que eu chamo de reaproveitamento de código, e é nestes detalhes que Press é superior ao feijão com arroz com o qual o pessoal está acostumado (inclusive IO). -- Joao Morais [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Davi Eduardo Borges Wall wrote: Andei procurando por MVP no Google. É alguma coisa relacionada com uma biblioteca procedural ou algo assim? MVP é um padrão para apresentação de objetos de negócio em controles visuais. É equivalente ao dbware do Delphi, porém, orientado a objetos. Há pouco material na internet falando sobre o assunto, e este link é na minha opinião o melhor deles: http://www.martinfowler.com/eaaDev/uiArchs.html -- Joao Morais
Re: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? (Joao Morais)
Davi Eduardo Borges Wall wrote: Será que a minha pergunta foi tão estúpida assim para ser ignorada??? Não. - a sua pergunta foi respondida antes da pergunta do Fellipe e o estúpido do Yahoo foi quem não entregou ainda; - eu não faço distinção entre pergunta assim ou assado. Se ela não foi respondida para você, ou fui eu quem não recebi a pergunta (normal, yahoo não ajuda) ou foi você quem não recebeu a resposta (normal, yahoo continua não ajudando). -- Joao Morais
[delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Olá amigos, gostaria de saber dos amigos que mexem com o InstantObjects, se eu ao alterar um modelo, acresentando um Field e tals.. ele atualiza meu banco de dados automaticamente. Se não existe algo que faz isso? Desde já agradeço. []s -- _ Fellipe Henrique [EMAIL PROTECTED] Você valoriza a existêcia das pessoas extraordinárias e momentos em que a história avança graças a elas. Tudo o que se imagina pode ser alcançado. Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho... e trabalho em equipe. Por que ninguém consegue sozinho. Se comemoramos a grandeza desses eventos e as pessoas que os realizam... não podemos esquecer o sacrifício daqueles que tornam possíveis tais realizações. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?
Fellipe Henrique wrote: Olá amigos, gostaria de saber dos amigos que mexem com o InstantObjects, se eu ao alterar um modelo, acresentando um Field e tals.. ele atualiza meu banco de dados automaticamente. Tem o evolver, ele atualiza o banco de acordo com o modelo. Se não existe algo que faz isso? Essa história de fazer sozinho é igual programa da M$. De vez em quando ele pensa errado e faz o que não devia. O próprio evolver não é perfeito, ex., ele não tem como discernir entre uma coluna com nome alterado e remover uma coluna para acrescentar outra. Se você quer uma coisa bem feita, então grave a versão do metadados do banco ou a versão do sistema dentro do próprio banco. No seu sistema, para cada nova versão de banco, grave a string dos ddl que você precisa executar para atualizar. Ao comparar a versão do metadados que está no cliente, você saberá quais conjuntos de ddl tem que ser executado para que o banco esteja pronto para uso. -- Joao Morais