Access Violation no ApplyUpdates do ClientDataSet
17/09/2004
0
No applyudates do meu clientdataset está sendo gerado um erro no ReconcileError de AccesViolation.
Se eu uso applyupdates(0) ele não grava nada no banco, porém se eu usar applyupdates(1) ele grava os dados, mas continua tambem gerando o accesviolation no evento reconcile error.
Fiz um outro projeto no delphi e o erro não acontece, só mesmo neste projeto.
Ja apaguei os componentes (SqlDataSet+DataSetProvider+ClientDataSet) e inseri novamente e o erro continua.
Este AccessViolation acontece quando eu deixo algum valor NULO...sei que este problema da em campos BLOB, mas to usando somente campos TIME.
se alguem sabe a solução me ajude!
Henry.fartura
Posts
17/09/2004
Henry.fartura
Se alguem ja passou por isso, eu fiz o seguinte:
tirei da clausula uses o midaslib e o dbexpint e o erro não ocorreu mais.
17/09/2004
Vinicius2k
Apesar de ser possível embutir o driver para IB/FB e a midas dentro da aplicação, [b:3f9e2af6b9]nunca façam isso[/b:3f9e2af6b9].
A razão eu desconheço, mas este problema é apenas um (e que eu desconhecia) de vários outros que ocorrem ao se tentar embutir estas bibliotecas na aplicação.
Prefiram sempre distribuir as DLLs separadamente.
T+
17/09/2004
Henry.fartura
mas quais outros erros que voce conhece pelo mesmo motivo?
tipo eu ia dando F7 pra debugar mas em nenhuma linha dava erro, e do nada ele ia pro reconcileerror...
17/09/2004
Vinicius2k
Simplesmente não abrir o CDS, algumas vezes.
O CDS não interpretava corretamente parametros.
Algumas vezes, mesmo setando corretamente, as ProviderFlags dos TFields, ele não conseguia aplicar os updates.
Alterações no UpdateMode do Provider não tinham nenhum efeito...
Estes são os que me lembro... talvez alguns problemas já tenham sido corrigidos no Delphi 7 e updates, mas eu abandonei a idéia... distribuir mais duas DLLs, que juntas, somam menos de 500KB não fazem tanta diferença assim, não é verdade? Até pq quando vc embute estas bibliotecas na aplicação ela cresce de tamanho...
T+
Clique aqui para fazer login e interagir na Comunidade :)