Fórum Quando eu destruo o form, as grids param de funcionar! #254089
12/10/2004
0
Estou com um problema estranho aqui. Ao meu ver esta tudo certo mas não da certo. Olha o que eu fiz:
Criei um form de cadastro de produtos chamado FrmCadProduto. Nesse form tem 3 grids que listam conteudos de outras tabelas. No evento onActivate eu abro as 6 tabelas usadas no form e no evento onClose eu fecho as mesmas 6.
No form principal, existe um procedimento de chamada do FrmCadProduto assim:
Application.createform(TFrmCadProduto, FrmCadProduto);
FrmCadProduto.Showmodal;
FrmCadProduto.release;
FrmCadProduto:=nil;
Quando eu executo minha aplicação e abro o formulario pela primeira vez, tudo funciona perfeitamente. Quando eu fecho o formulario e abro novamente, o sistema cria o form novamente e quando ele abre, nenhum dos 3 grids exibem os dados.
Eu ja tentei instanciar o form pra ver se resolvia e nada! Mudei a ordem de abertura e fechamento das tabelas varias vezes e nada! Troquei o release por um free e nada. A unica coisa que resolvel foi não destruir o form mas obviamente isso ira calsar peso pelo espaço na memoria.
Alguem sugere algo? Eu fiz algo de errado?
Urgente!
Obrigado a todos.
Ronaldo
Maxadens
Curtir tópico
+ 0Posts
12/10/2004
Maxadens
Ronaldo
Gostei + 0
12/10/2004
Marco Salles
Gostei + 0
12/10/2004
Maxadens
Nada ainda!
Obrigado
Ronaldo
Gostei + 0
12/10/2004
Sandra
Quando tenta abrir as tabelas no onCreate (do form), em qual parte do código você está colocando SuaTabela.open?
Tentativa por tentativa, mais uma. Experimente abrir as tabelas antes do ShowModal, assim:
Application.createform(TFrmCadProduto, FrmCadProduto); SuaTabela1.open; // . // . // tente abrir aqui, nestas linhas . // SuaTabela6.open; // FrmCadProduto.Showmodal; FrmCadProduto.release; FrmCadProduto:=nil;
Não sei se é assim que está fazendo, mas...
Boa sorte! :D
Gostei + 0
12/10/2004
Maxadens
Mas obrigado pelo palpite fico feliz mesmo não dando certo.
Ronaldo.
Gostei + 0
12/10/2004
Maxadens
Três tabelas que eu estava usando tinha relacionamento com MasterSource. Quando eu destruia o form esse relacionamento se perdia. Então eu fiz o seguinte:
No evento OnActivate do FrmCadProdutos eu religuei as tabelas
DM.CDS_Produtos_Perfis.MasterSource:=FrmCadProdutos.DsProdutos;
DM.CDS_Produtos_Perfis.MasterFields:=´codigo´;
DM.CDS_Produtos_Perfis.IndexFieldNames:=´COD_PRODUTO´;
//depois abri as tabelas
Com esse relacionamento refeito, os grids voltaram a exibir os dados!
Obrigado a todos que tiveram a intenção de me ajudar. Agora... se algum dia acontecer com vc, lembre desse post que rapidinho vc resolve!
Um abraço a todos!
Ronaldo Araujo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)