Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-06-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 21
Giniromero Va por buen camino
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

gracias

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
  #2  
Antiguo 13-06-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 21
Giniromero Va por buen camino
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
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 03:05:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi