Aplicação MDI dois forms abertos ao mesmo tempo mesmos CDS

Delphi

16/04/2005

olá galera,

Estou desenvolvendo uma applicação MDI e estou com o seguinte problema. Tenho duas telas que pode ficar abertas simultaneamente, a de clientes e a de produtos... como são as mesmas tabelas, tulizo os mesmo CDS e data souces (que estão num module) nas duas janelas... o problema é que ao fechar uma das janelas(e fechar o CDS) os dados da outra janela somem (ja q estou usando o mesmo CDS e ele foi fechado).
Achei que usar outro CDS e etc... igualzinho pra outra tela fosse redundante.. qual a forma mais inteligente para agir ? ou como posso verificar se a outra janela está aberta para fechar o CDS ou nuam ?


Valeu !


Logado

Logado

Curtidas 0

Respostas

Marco Salles

Marco Salles

16/04/2005

Veja bem se eu entendi....

Voce esta dizendo que voce tem dois forms.. FormClientes e FormProdutos por exemplo..

o problema é que ao fechar uma das janelas(e fechar o CDS) os dados da outra janela somem (ja q estou usando o mesmo CDS e ele foi fechado).


Não seria o caso de no evento OnClose Testar a Condição do Forms :?: :?: :?:

Por exemplo No Evento OnClose Do FormClientes Testo a condição do FormPedidos :arrow:

if Assigned(FormPedidos) then
begin
 Fecha o que tem que fechar
end;


O Mesmo se deve fazer no evento OnClose do FormPedidos
if Assigned(FormClientes) then
begin
 Fecha o que tem que fechar
end;


E Claro que para isto funcionar voce tem que estar Criando os Forms e Destruindos de uma maneira correta

Por exemplo No OnClose do FormClientes :arrow:

procedure TForm2.FormClientesClose(Sender: TObject; var Action: TCloseAction);
begin
action:=Cafree;
FormClientes:=nil;
  if Assigned(FormPedidos) then
    begin
      Fecha o que tem que fechar
    end;
end;



GOSTEI 0
Logado

Logado

16/04/2005

Po cara num tinha pensado nisso ! achu q isso resolve meu problema vou aplicar aki

valeu ai a dica !


GOSTEI 0
POSTAR