Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2003
Giasl Giasl is offline
Miembro
 
Registrado: may 2003
Posts: 13
Poder: 0
Giasl Va por buen camino
Access violation

Buenas, tengo un evento onTimer que se ejecuta cada 1000 ciclos, es decir cada segundo para visualizar la hora.

El problemas es que obtengo errores de access violation tras varias horas de ejecución.
Basicamente lo que hago es coger la hora del sistema y restar a la hora de inicio del proceso así pues calculo el tiempo en ejecucion del programa.

¿ Le ha pasado a alguien lo mismo ?

Utilizo Delphi 6.


GRACIAS A TODOS
Salud2
__________________
GIASL
Responder Con Cita
  #2  
Antiguo 05-05-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Esto te ocurre siempre o cuando coincide que cambia de un día a otro, si fuera así utiliza Now en vez de Time.

Un Saludo.
Responder Con Cita
  #3  
Antiguo 05-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Yo hago lo siguiente para poner la fecha y la hora en la barra de estado de mis aplicaciones y nunca me ha dado problemas

Código:
 
     BarraEstado.Panels.Items[3].Text := DateToStr(Date);
     BarraEstado.Panels.Items[4].Text := TimeToStr(Time);
     Application.ProcessMessages;
Espero te sirva
Responder Con Cita
  #4  
Antiguo 06-05-2003
Giasl Giasl is offline
Miembro
 
Registrado: may 2003
Posts: 13
Poder: 0
Giasl Va por buen camino
Gracias por el interés.

El programa se rompe aleatoriamente, al cabo de 5 horas otro dia esta 12 horas otro dia en 2 horas, etc...

Es una aplicación multihilo que ejecuta unos 10 hilos simultanemanente y decidí que el control del tiempo de proceso
lo hiciera un componente que ya de por si es un Thread como es el Timer del la paleta de componentes de delphi 6.
En el onTimer cada 1 segundo actualizo los datos la dia hora
de inicio, actual y el tiempo en hh:mm:ss de ejecucion del programa. Ademas saco la media de unos calculos que realizan todos los hilos e informo en pantalla (para no aburirse mirando el programa y para saber que estan funcionando bien)
Como es mega complicado depurar los multihilos es el control que realizo. Pero de vez en cuando tengo un access violation.
Evidentemente TODOS los procesos estan protegidos con Try
para que no se pare el programa pero no entiendo como de forma aleatoria tengo esto access violations.


??????


Gracias 1000.
__________________
GIASL
Responder Con Cita
  #5  
Antiguo 06-05-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Si lo haces un debug con la opción del Debugger "Stop on Delphi Exceptions"... ¿no para en la línea del error?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 06-05-2003
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
Con solo la informacion que das no es posible descubrir el error.
El quiz de la cuestion es que no solo estas actualizando la hora (eso no falla por muchas horas que se este ejecutando el programa), sino que seguramente estas accediendo a objetos o variables de los otros threads.
Los accesos a datos y objetos entre threads hay que protegerlos ( con semaforos o usando la funcion synchronize), el no hacerlo suele provocar precisamente errores aleatorios de ese tipo.

Salud2 !!!
Responder Con Cita
  #7  
Antiguo 07-05-2003
Giasl Giasl is offline
Miembro
 
Registrado: may 2003
Posts: 13
Poder: 0
Giasl Va por buen camino
Creo que el tema va por aqui....
Miraré de realizar un thread para el ejecucion horaria y protegerlos con syncronize.


Por cierto el tema de los semaforos no lo domino. ¿ Alguien tiene información al respecto ?

Creo que hasta la rutina de errores la lanzaré tambien un thread para que no de problemas. Pues de vez en cuando tambien tiengo un error en la rutina de errores que capturo pero que tambien me desborda el programa. Lo que sucede es que deberia realizarlo con semaforos, pues si se producen (cosa normal) dos errores al mismo tiempo...



GRACIAS MIL
__________________
GIASL
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como corregir un error de access violation en delphi... uper Firebird e Interbase 9 03-12-2005 21:10:05
Delphi 7 Access Violation at 0x7c91edcd Barzaugc Varios 2 03-06-2005 05:03:24
Delphi 7 Access Violation at 0x7c91edcd Barzaugc Varios 1 03-06-2005 02:34:25
Error Access Violation samame Conexión con bases de datos 1 01-04-2004 10:48:10
Error Access Violation con Crystal 9 samame Impresión 0 30-03-2004 14:03:17


La franja horaria es GMT +2. Ahora son las 20:34:35.


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