FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con Access Violation
Buenas, amigos me aparece la excepción "Access Violation at address 004022E6 in module proyecto.exe" . pero lo curioso es que no es siempre que sucede
esperando su ayuda gracias, esto me tiene loco
__________________
La vida es un simple pero complejo If J=rS
|
#2
|
||||
|
||||
Hola
Usa parametros y veras por que te manda el error. Asi, de pasada me imagino que codigo no lo entiende la BD. Saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
trata de colocar tus instrucciones en varias lineas para pdoer entenderla mejor
y en que instruccion te aparece el error?
__________________
Dulce Regalo que Satanas manda para mi..... |
#4
|
||||
|
||||
Hola
Saludos PD: Tienes dos tablas, que campo es de que tabla???????
__________________
Siempre Novato |
#5
|
|||
|
|||
Cita:
__________________
La vida es un simple pero complejo If J=rS
|
#6
|
|||
|
|||
Utilizando Parámetros que diferencia tiene??
__________________
La vida es un simple pero complejo If J=rS
|
#7
|
||||
|
||||
Hola
A la hora de depurar, de ver que o cuales problemas se tiene el programa hace un recorrido, con parametros se puede identificar el problema con exactitud. Otra cosa, los datos se envian en su correcta forma, sea integer, string, etc, etc. Saludos
__________________
Siempre Novato |
#8
|
|||
|
|||
Hola.
No tengo muy claro si esto te puede ayudar; pero te comento que hace poco tuve un problema bastante parecido, al menos en lo referente a "Access Violation" (no recuerdo el número que le acompañaba). Fue usando Firebird 2.0.5 . Casi me vuelvo loco porque no daba con la posible causa del problema. Finalmente, opté por cambiar a Firebird 2.1.3 (incluido el archivo fbclient.dll) y desaparecieron los "fantasmas" del "Access Violation". Supongo que era un error de las Zeos con esa versión de Firebird. Saludos |
#9
|
|||
|
|||
Cita:
__________________
La vida es un simple pero complejo If J=rS
|
#10
|
|||
|
|||
Nadie ha pasado por un problema como este??? tambien me esta pasando en la siguiente parte del codigo
Arrojandome esta Excepcion: *****Exepcion al Actualizar la Hora: 10:33 en el Timer Hora este codigo esta en un TTimer el cual tiene un intervalo de 10000
__________________
La vida es un simple pero complejo If J=rS
|
#11
|
|||
|
|||
Posible Solucion
Si no siempre te da el error es porque a veces tienes abierta la consulta
con lo cual con Hora.Close la cierras y cuando no está abierta con Hora.Close te va a generar el problema. No es un problema de parametros sino te sería mas claro el error y no algo que haga referencia a una posición de memoria o un objeto inexistente. Además usando parametros con ParamByName queda mucho mas prolijo el codigo y no debes estar usando apóstrofes ni convirtiendo cadenas a nros o viceversa, simplemente mandas el valor, te evita ademas problemas de configuración regional en fechas y numeros. Y sobre todo codigo mas legible para que puedan analizarlo y echarte una mano. No es web, no mezquines caracteres ni lineas hehe. Saludos |
#12
|
|||
|
|||
Buenas después de 7 años sigo presentando el mismo problema en mi aplicación , pero esta vez en esta fragmento del codigo
estoy usando una base de datos en mysql 4.11 , Delphi 7 el campo acceso es de tipo integer .. Use los consejos que me dan en este hilo como usar parámetros en mi consulta, pero sigue el mismo problema. Mi aplicación puede pasar 3 días seguidos 24 horas al día por este fragmento de código sin generar ningún problema pero derrepente me arroja la Siguiente Excepción: *****Excepcion en el Cuerpo Principal del Sistema Access violation at address 004022E6 in module 'Program1.exe'. Write of address 0794B3D8 me aconsejan no Utilizar el ZQuery3.Close; porque puede generar algún problema si la consulta no esta abierta, pero siempre lo he utilizado así en todas mis aplicaciones y de verdad a parte de este fragmento de código me ha funcionado bien. Espero sus aportes muchas gracias
__________________
La vida es un simple pero complejo If J=rS
|
#13
|
|||
|
|||
Cita:
Primero que nada prueba con esto ZQuery3.Active := false; // en lugar de esto: ZQuery3.Close; Segundo: la Consulta SQL por qué mejor no la pones en una variable e identificas bien los campos de cada tabla y la unes con inner join? Ejemplo: Código:
sSQL := 'SELECT acceso FROM permisos P ' + 'INNER JOIN detallepermisos D ON ( P.codigo=D.codigo ) ' + 'WHERE P.cedula=:cedula AND D.fecha=current_date'; (Ojo asumo que los campos de cada tabla que escribes corresponden a cierto alias) ZQuery3.Active := false; ZQuery3.SQL.Clear; ZQuery3.SQL.Add( sSQL ); ZQuery3.ParamByName( 'cedula' ).Value := cedula; escribir('Consulta para Obtener el Valor de Permiso'); ZQuery3.Active := true; Permiso:=0; if not ZQuery3.Eof then Permiso := ZQuery3.FieldByName( 'acceso' ).AsInteger; un valor y lo hace bien, pero recibes un valor que no puede convertir. Como por ej. si recibes un valor 99000 ya no puedes ponerlo como un entero corto (smallint). Bueno, espero te sirva de algo mis consejos o el pequeño código. Pero no debe estar muy lejos el error Deberías debuggear cuando salta el error y ver las variables que valores poseen. Saludos y exitos! |
#14
|
|||
|
|||
Saludos desde Venezuela amigo waly2k1, muchas gracias por tu aporte. ya cambie en mi código la linea de
por y asigne el string de la consulta a una variable para probar. con respecto a los tipos de datos los campos códigos son de tipo Integer , cedula es un Varchar(20) y fecha es Date. ahora solo queda someter a prueba el codigo y cualquier cosa te aviso.. muchas gracias de nuevo
__________________
La vida es un simple pero complejo If J=rS
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Access Violation | Alejo15x | API de Windows | 2 | 09-11-2010 02:36:04 |
Access Violation con DLL | emeceuy | Varios | 8 | 17-08-2007 21:57:55 |
access violation | chona | Varios | 2 | 31-10-2006 01:36:04 |
Access Violation ..... | MADV01 | Varios | 2 | 24-03-2004 16:01:33 |
Access violation | Giasl | Varios | 6 | 07-05-2003 12:35:51 |
|