Fórum Multiplos Datamodules #218242
04/03/2004
0
Estou com varias duvidas que solucionada pode ajudar muitos desenvolvedores e espero que todos que puderem ajudar o façam.
Deixe-me mostrar a situação: Estou desenvolvento um sistema comercial que possui varias tabelas e pode vir a possuir muito mais.
As duvidas são as seguintes: Um datamodule possui limitação de quantidade de componentes query ele pode conter? Se eu distribuir minhas queries em varios datamodules (um para tabelas como de clientes, convenios, empresas; outro para tabelas relacionadas com a tabela de produtos) vou ter algum ganho em performance, pois só vou criar o respectivo datamodule que o mesmo for necessario?
Espero que se essas duvidas forem respondidas, possam ajudar não só a mim mas varios outros desenvolvedores.
Atenciosamente
Flaviosan :P
Flaviosan
Curtir tópico
+ 0Posts
04/03/2004
Lucas Silva
Já coloquei muitos componentes em um DM, e nunca aconteceu nada não...
Acredito que não tem limitação.
Com ceteza... Eu trabalho assim... p/ cara tela eu tenho um data module, que eu crio só na hora que a tela é aberta.....
Gostei + 0
04/03/2004
Flaviosan
Flaviosan :P
Gostei + 0
04/03/2004
Flaviosan
Muito obrigado Lucas Alves Silva pela sua ajuda.
Flaviosan :(
Gostei + 0
04/03/2004
Lucas Silva
Tipo assim....
Você tem um cadastro de clientes e o relatorio de cliente, então você cria um DM cliente e coloca estas duas queries (qrycliente, qryrelcliente);
Fica muito organizado......
Gostei + 0
04/03/2004
Flaviosan
flaviosan :)
Gostei + 0
05/03/2004
Tnaires
Se formos usar muitos DataModules, e se criarmos só na hora d usá-los,
precisamos ter cuidado redobrado para aquelas telas d cadastro q envolve mais d uma tabela (exemplo clássico: pedidos - itens pedido). Isso pq um DataSet pode não estar instanciado qdo for necessário gravar dados na sua tabela.
Enfim, essa questão depende muito do paradigma do programador. Mas lembramo-nos: se um determinado recurso sempre esteve presente nas versões do Delphi, então é pq ele carrega grande utilidade.
Abraços
Gostei + 0
05/03/2004
Flaviosan
Me diz uma coisa, qual é o modo mais seguro de criar e destruir Datamodules em tempo de execução?
Agradeço antecipadamente.
Flaviosan :P
Gostei + 0
05/03/2004
Lucas Silva
Com certeza, eu tenho telas que necessitam de 3 ou mais datamodules..... eu crio os 3 quando a tela é criada e deleto quando a tela é destruida...
Existem muitas formas de programar, cada programador, escolhe o que acha melhor p/ utilizar em seus programas...
flaviosan,
tipo que a pergunta não foi pra mim, mais.....
// na hora de criar; datamodule := TDatamodule.Create(nil);
// na hora de destruir; datamodule.Free;
Gostei + 0
05/03/2004
Flaviosan
Só mais uma coisa: antes de criar o datamodule, acho que devo testar se ele ja existe, certo? Veja se o seguinte codigo serve :
if Datamodule = nil then Datamodule := TDatamodule.Create(nil);
Flaviosan :P
Gostei + 0
05/03/2004
Lucas Silva
eu uso este código também....
Gostei + 0
05/03/2004
Flaviosan
Do jeito que o Lucas mostrou eu nao consigo criar o datamodule.
alguem sabe o que pode estar acontecendo? Há outro modo de criar o datamodule em tempo de execução?
agradeço antecipadamente.
Flaviosan :P
Gostei + 0
06/03/2004
Tnaires
Hmmm... Acho que vc deveria fazer assim:
if Datamodule = nil then Datamodule := TDatamodule.Create(Application); // e não nil
Ou vc ainda pode tentar usar o método Application.CreateForm.
Reescrevendo:
if Datamodule = nil then Application.CreateForm(TDM, DM);
Supondo que o nome do seu DataModule seja DM.
Abraços
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)