Fórum Midas.DLL #355278
12/03/2008
0
Valeu!
Diegus
Curtir tópico
+ 0Posts
12/03/2008
Massuda
:arrow: http://www.distribucon.com/midas.aspx
Gostei + 0
12/03/2008
Diegus
Massuda... me ajuda!!
http://forum.devmedia.com.br/viewtopic.php?t=93730
Pense no desespero tomando conta...
Tenho um programa que funciona a muito tempo.
Software Stand Alone com XML...
Ele foi voltado, na época, para trabalhar com poucos registros... o backup e o restore funcionava normalmente...
Até que......
Um cliente que tem mais de 1500 registros somando Pessoas Fisicas e Pessoas Juridicas tentou fazer backup e restaurar...
Em tudo quanto é lado do software usa-se o Filter e o Filtered nos CDS...
Tenho um procedimento que pega todos os registros do XML e joga numa string mais ou menos assim:
if gs_Filtro_Tipo1 = ´´ then
gs_Filtro_Tipo1 := ´( NUME_CPF_SOLICITANTE = ´ + Chave.ps_CPF_CNPJ + ´ and CODG_SEQUENCIA_BOLSA = ´ + Chave.ps_Seq + ´ )´
else
gs_Filtro_Tipo1 := gs_Filtro_Tipo1 + ´or ( NUME_CPF_SOLICITANTE = ´ + Chave.ps_CPF_CNPJ + ´ and CODG_SEQUENCIA_BOLSA = ´ + Chave.ps_Seq + ´ )´;
Dentro de um While.. soma isso ai dá uma String gigante...
Quando eu pego esta String (gs_Filtro_Tipo1) e tento atribuir ao Filter (quando o CDS está filtered = true) acontece um accessviolation no MIDAS.dll....
O que eu faço com este BUG do MIDAS... ta dificil de resolver sem ele...
Ajuda ae!!!
Gostei + 0
12/03/2008
Joaoshi
No seu post anterior falei sobre o evento [b:4ee2c9db2c]onFilterRecord[/b:4ee2c9db2c] do ClientDataSet.
Como usar ?
Deixe a propriedade [b:4ee2c9db2c]Filtered[/b:4ee2c9db2c] = true
No Evento onFilterRecord você faz o filtro (Accept). Exemplo:
if 1=1 then Accept = true; // vai aceitar o registro
if Nome <> ´ALGUMA COISA´ then Accept = false; // nao vai aceitar
Ou você pode criar uma variavel que de acordo com alguns criterios podera ser true ou false, e no final do seu criterio ficaria :
ACCEPT := variavel.
Isto tem funcionado comigo.
Espero ter ajudado.
Gostei + 0
12/03/2008
Joaoshi
Gostei + 0
13/03/2008
Diegus
Mas isso resolveria a minha situação??? Deixa eu tentar passar direitin...
Tenho varios CDS que tem o conteudo de varios XML´s... todos ligados por chaves...
Beleza....
Vou fazer a comparação no que ta no XML (Backup) com o XML (Gravado no Sistema)...
Tenho que pegar todos que estão no backup e fazer um while neles e ir fazendo as comparações necessárias.... no antigo... eu faço aquela ´stringona´ acima com os selecionados...
Passo essa string no filtro e faço o while....
O que eu posso aproveitar dessa ´stringona´ nessa sugestão que vc me passou?
Talvez não tenha conseguido expressar bem o problema que estou tendo....
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)