Quando eu destruo o form, as grids param de funcionar!
Olá a todos!
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
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
Curtidas 0
Respostas
Maxadens
12/10/2004
Estou usando banco interbase e minha tabela é um ClientDataSet da paleta dbExpress.
Ronaldo
Ronaldo
GOSTEI 0
Marco Salles
12/10/2004
so um palpite sem muitas pretensões, ja que eu estou ha oito meses parado de programação..Pq que voce nao tenta abrir estas tabelas no evento OnShow do FrmCadProduto , ao inves de usar o evento OnActive do mesmo...Qualquer coisa nova poste para nos :P
GOSTEI 0
Maxadens
12/10/2004
Eu tentei abrir a tabela no evento on show, tentei no onActivate, no onCreate, tentei abrir ela atravez de um botão no form pra ver se dava certo... mas... nada!
Nada ainda!
Obrigado
Ronaldo
Nada ainda!
Obrigado
Ronaldo
GOSTEI 0
Sandra
12/10/2004
Max,
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:
Não sei se é assim que está fazendo, mas...
Boa sorte! :D
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
Maxadens
12/10/2004
Eu fiz isso tambem. Abri antes de criar o form e antes do showmodal. Na primeira vez funciona certinho. Quando fecha o formulario e abre denovo os grids ficam todos em branco.
Mas obrigado pelo palpite fico feliz mesmo não dando certo.
Ronaldo.
Mas obrigado pelo palpite fico feliz mesmo não dando certo.
Ronaldo.
GOSTEI 0
Maxadens
12/10/2004
Bom. Eu resolvi e então vou dizer o que tava acontecendo.
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
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