Boa tarde. Estou desenvolvendo já faz uns 3 meses um software em Delphi 2010 para ERP, não é um ERP muito grande mas a idéia é atender vários ramos de atividade, é um projeto importantíssimo para min, este software estou desenvolvendo sozinho, como nunca fiz um projeto grande assim de delphi, gostaria da opinião de vocês sobre alguns assuntos.
Estou com muita dificuldade em definir a arquitetura do software (o modelo), por exemplo, o que fiz até agora foi: 1 - Criar um DM para conexão com o Firebird usando SqlConnection. 3 - Criar três formulários genéricos que serão herdados para a geração de outros (herança de formulários). Nesses formulários coloquei um DataSource. 4 - Criei um cadastro de clientes herdando do formulário genério do item 3, neste cadastro, coloquei um SqlQuery, um DataSerProvider, um ClientDataSet e um DataSource, onde ligo um no outro e o coloco o DataSource igual ao do Form genérico, lá no form genérico faço todos os comandos de CRUD e também navigator usando o datasource (dsrCadastros.DataSet as TClientDataSet). Isso achei legal pois quando crio um novo formulário herdando do genérico só me preocupo em enviar alguns parâmetros como: Nome da tabela, campos chave etc.. 5 - Como viram no item 4, estou usando os componentes de conexão dentro do formulário e não estou usando um DataModule separado para isso (EU achei melhor, aceito sujestões). Gostaria de saber de vocês se isso que estou fazendo está certo, se é isso que acontece na prática, trabalho com programação em linguagem própria e estou no segundo ano de informática, nunca trabalhei com delphi em nenhuma empresa por isso estou com essas dificuldades. Já tenho alguns projetos prontos em delphi mas nada se compara a este. Ainda tenho que colocar no sistema: 1 - Parte multiusuário: Como vocês fazem isso com firebird? Tentei colocar DataSnap no meu projeto mas vi que teria que mudar toda a estrutura que já fiz, ia dar muito trabalho, então somente fiz um arqivo .ini que o usuário indica onde é o servidor e o arquivo do firebird (*.fdb;*.gdb). 2 - Permissão de usuário nas telas: Quero fazer uma tela principal com botoes, gráficos, atalhos para relatórios, etc. Mas como vou fazer o gerenciamento disso, por exemplo, o usuário A não pode ver as vendas do mês e na tela principal tem um botão la que mostra as vendas por mês. OBSERVAÇÃO: Eu até sei como resolver a maioria desses problemas, a parte da lógica é facil, o que estou com dificuldades é COMO resolver esses problemas, como definir uma estrutura que quando o projeto crescer não terei que fazer uma mudança grande para atender um requisito, quero reaproveitamento de código. Abraços..... -- Att. Rodrigo Rossi Skype: rodrigotrentinrossi MSN: rdrg_ro...@hotmail.com Fone: (45) 9963-1897 Cascavel - PR