ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Aplicação MDI x DataModule

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Ter Nov 19, 2019 4:57 pm    Assunto: Aplicação MDI x DataModule Responder com Citação

Salve galera,
Aquela velha história, estava fazendo uns testes com aplicação MDI, e como todos já sabem, não é uma boa prática trabalhar com a variável global do DataModule que a IDE cria, sendo necessário criar uma instância do DataModule em cada tela que for usá-lo e em runtime, fazer a ligação de todos os DataSource para esta instância, desta forma, várias telas podem usar as mesmas querys ao mesmo tempo sem que haja interferência em outras telas, visto que cada tela vai estar trabalhando com sua instância do DataModule.

A minha pergunta é, se alguém já conseguiu encontrar alguma outra maneira de lidar com essa questão de forma mais simples, porque atualmente, a parte chata é ter que ficar programando as ligações dos DataSource em runtime, alguém conhece alguma outra maneira?

Grato.
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9008
Localização: Sinop-MT

MensagemEnviada: Qui Nov 21, 2019 10:32 am    Assunto: Responder com Citação

coloca os DataSets nas telas ao inves de por no DataModule
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10536
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Qui Nov 21, 2019 1:28 pm    Assunto: Responder com Citação

Esta parte é chata mesmo, mas você pode criar tudo no código através de classes.

Eu prefiro trabalhar com datamodule em algumas aplicações, torna-se mais rápido, mas fazer assim muitas vezes torna-se confuso pela quantidade de componentes e também devido as regras comerciais.


Eu deixo apenas um datasource para cada tabela, configuro ele para acessar aquilo que desejo.

e Trabalho desta foirma:

if (O melhor é colocar nos datamodules, caso contrário você terá vários problemas devido a descentralização.

Eu somente coloco no formulário um datasource.Da

Código:
if (TDataSource.DataSet as TClientDataSet).ApplyUpdates(0) <> 0 then
begin
...
...
end
else
begin
...



Não gosto de trabalhar com MDI, mas se você quiser, mando-lhe o PDV do Renato Matos que se faz tudo por classes e interfaces, assim talvez lhe dê alguma ideia.



bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9008
Localização: Sinop-MT

MensagemEnviada: Qui Nov 21, 2019 3:15 pm    Assunto: Responder com Citação

johnny-walker escreveu:


Não gosto de trabalhar com MDI, mas se você quiser, mando-lhe o PDV do Renato Matos que se faz tudo por classes e interfaces, assim talvez lhe dê alguma ideia.

bye


esse PDV é open source? to querendo usar interfaces aqui tb
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Nov 22, 2019 8:23 am    Assunto: Responder com Citação

joemil escreveu:
coloca os DataSets nas telas ao inves de por no DataModule

Eu até em pensei em fazer isso, mas algumas situações, eu uso o mesmo SQL de uma query em mais de uma tela, ai eu teria que duplicar essa query em outras telas, o problema é que se eu precisar alterar o comando SQL, tenho que lembrar de trocar nos outros lugares tbm Very Happy
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Nov 22, 2019 8:29 am    Assunto: Responder com Citação

johnny-walker escreveu:
Esta parte é chata mesmo, mas você pode criar tudo no código através de classes.

Eu prefiro trabalhar com datamodule em algumas aplicações, torna-se mais rápido, mas fazer assim muitas vezes torna-se confuso pela quantidade de componentes e também devido as regras comerciais.


Eu deixo apenas um datasource para cada tabela, configuro ele para acessar aquilo que desejo.

e Trabalho desta foirma:

if (O melhor é colocar nos datamodules, caso contrário você terá vários problemas devido a descentralização.

Eu somente coloco no formulário um datasource.Da

Código:
if (TDataSource.DataSet as TClientDataSet).ApplyUpdates(0) <> 0 then
begin
...
...
end
else
begin
...



Não gosto de trabalhar com MDI, mas se você quiser, mando-lhe o PDV do Renato Matos que se faz tudo por classes e interfaces, assim talvez lhe dê alguma ideia.



bye


Legal, não tinha pensado nessa abordagem, eu também não gosto de trabalhar com MDI, é que estou trabalhando em um projeto desenvolvido por outro programador e já foi feito assim, e como não tenho costume de trabalhar com MDI, surgiu essa dúvida.
Se puder me enviar o fonte do PDV eu agradeço muito, com certeza vai me ajudar bastante a tirar alguma ideia. Vou lhe mandar meu email por mensagem particular.
Abraço.
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Nov 22, 2019 3:08 pm    Assunto: Responder com Citação

Boa tarde johnny-walker,
Não estou conseguindo enviar mensagem pra você. Sobre o PDV, se puder, me envie o fragmento da implementação pra eu ter uma ideia.
Muito obrigado mesmo.
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)


Editado pela última vez por wjuniordias em Seg Nov 25, 2019 1:31 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10536
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Seg Nov 25, 2019 12:12 pm    Assunto: Responder com Citação

É um PDV do Renato Matos, de um curso da Devmedia, mas foi portado para Delphi 7, necessita porte para Delphis mais novos, mas não é um grande esforço, ainda mais com recursos a mais que os novos delphis tem, incluindo aí generics e o novo framework do DBX.

Estes são o PDV e mais dois outros projetinhos interessantes aos interessados.

https://www.dropbox.com/home/Delphi?preview=PDV.rar
https://www.dropbox.com/home/Delphi?preview=Comercial42.zip
https://www.dropbox.com/home/Delphi?preview=Migracao+de+dadosl.zip



Estes
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Seg Nov 25, 2019 1:32 pm    Assunto: Responder com Citação

Não estou conseguindo acessar, aparece uma mensagem no DropBox dizendo que a "pasta /Delphi" não existe. Very Happy
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9008
Localização: Sinop-MT

MensagemEnviada: Ter Nov 26, 2019 9:48 am    Assunto: Responder com Citação

tb nao consigo baixar
coloca no mega
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB