Instanciar Data Module
07/01/2010
0
Pessoal,
Como posso fazer para instanciar um mesmo data module em dois formulários diferentes para trabalharem simultaneamente.
Exemplificando:
Tenho um data module de clientes, tenho um formulário de cadastro de clientes e um outro de agendamento de visitas em ambos os formulários estão fazendo referencia o data module de clientes.
Problema: Quando seleciono um cliente na tela de cadastro o mesmo registro aparece no agendamento de visitas e vice-versa.
Pesquisei aqui no fórum e não consegui resolver o problema. Criei variável private nos formulários e não resolveu este problema.
Utilizao D2005, Firebird e dsp + cds + ds no data module.
Alguém tem alguma sugestão?
Att,
Rodolfo
Rodolfo Gatzke
Curtir tópico
+ 0
Responder
Post mais votado
07/01/2010
crie uma nova instância do dm e aponte todos os seus componentes para esse novo dm.
- no form de agendamento, crie uma variável na seção private (essa variável será a nova instância do dm): SuaVariavel: TSeuDM;
- no onCreate do form agendamento, crie a instância do dm, com Application.CreateForm(TSeuDM, SuaVariavel);
- depois de instanciado o novo dm, aponte seus componentes para esse novo dm.
não esqueça de eliminar o novo dm no onDestroy do form agendamento: FreeAndNil(SuaVariavel);
- no form de agendamento, crie uma variável na seção private (essa variável será a nova instância do dm): SuaVariavel: TSeuDM;
- no onCreate do form agendamento, crie a instância do dm, com Application.CreateForm(TSeuDM, SuaVariavel);
- depois de instanciado o novo dm, aponte seus componentes para esse novo dm.
não esqueça de eliminar o novo dm no onDestroy do form agendamento: FreeAndNil(SuaVariavel);
Emerson Nascimento
Responder
Clique aqui para fazer login e interagir na Comunidade :)