![]() |
Exception class EAccess violation...
hola a todos,
EStoy pasando una plicacion de paradox 5 a interbase7 con delphi 6. Se que no debería, pero tengo tablas. Estas, eso si, en un datemodule. Entre otras, tengo una con datos económicos, TbEcono, que esta conectada con la de los usuarios por un campo que tienen ambas en comun que es numalu. el caso es que la aplicacion original, que estaba totalmente baseda en tablas, me calculaba el saldo de cada cliente directamente en el main, mostrandomelo en un TLabel y esto mismo lo consigo hacer en otro form de mi aplicacion, pero cuando pongo el mismo código para mi tabla econo me sale constantemente el mensaje: ----Project xxx raised exception calss EAccess Violation with message "Access violation at address 0059536A in modulo XXX" read of address ffffffff process stopped use step or run to continue--- el codigo que no me funciona es: //calcula el saldo que tiene en Econo Procedure TFrmFxMain.CalculaSaldo; var nAux :single; var dbpos : TBookmark; begin try nAux := 0; //pongo a 0 el contador dbPos := FrmDataModule.TbEcono.Getbookmark; FrmDataModule.TbEcono.Disablecontrols; //deshabilito control query FrmDataModule.TbEcono.first; //me pongo en el primer registro para este cliente while not FrmDataModule.TbEcono.EOF do begin //mientras no llege al último registro nAux := nAux + FrmDataModule.TbEconoIMPHABER.Value; //voy sumando lo que figura en importe del query FrmDataModule.TbEcono.Next; //y me voy al siguiente registro si lo hay end; finally //una vez que se han contado todos los registros, mostramos el resultado lblSaldo.Caption := formatFloat('#,##0.00 €',nAux); FrmDataModule.TbEcono.GotoBookmark(dbPos); FrmDataModule.TbEcono.FreeBookmark(dbpos);//liberamos el bookmark FrmDataModule.TbEcono.EnableControls; //le devolvemos el control de la query end; end; ¿podeis ayudarme con esto? Me estoy volviendo loca:confused: gracias Virginia |
Hola a todos,
algunas veces, no hay nada mejor que escribir una duda en un foro, pues al hacerlo, tienes que explicarlo, y tu mismo encuentras una salida... (esto no ocurre siempre, pero...) El caso, es que quiero que sepais, el codigo es correcto, y SI funciona, solo que el procedimiento lo estaba llamando desde varios sitios de mi aplicación, y alguna de estas "llamadas" no estaba preparada para asumirlo. Os lo digo, por si os encontrais en la situacion que yo, y efectivamente, el problema no es el codigo que habeis escrito, sino las llamadas que tengais a este mismo código. Gracias por la ayuda que siempre me pretais. Virginia |
La franja horaria es GMT +2. Ahora son las 21:41:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi