Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2005
Killo Killo is offline
Registrado
 
Registrado: ene 2005
Posts: 8
Poder: 0
Killo Va por buen camino
Question Aplicación en Delphi5 colgada en WinXP!!

Hola a todos.



Tengo un “problemilla” que os comento a continuación a ver si podéis ayudarme.



La aplicación con la que tengo problemas es un programa de presentación de datos en pantalla que utiliza un timer de 1 segundo para actualización de datos, una base de datos de tipo estándar con driver PARADOX y se comunica a través de la RS232 con unos equipos externos de los que toma la información a presentar en pantalla.

La aplicación se compila en un PC bajo XP con Delphi 5. En este PC (pc1) y bajo el entorno de desarrollo, la aplicación corre bien hasta un determinado momento en que se queda totalmente colgada no diciendo nada el depurador acerca del error. Si la aplicación la ejecuto en este PC pero fuera del entorno de desarrollo, hace lo mismo.



Hasta hace unos días, cuando instalaba la aplicación en otro PC (pc2) sin Delphi, esta funcionaba estupendamente. Así estuvo dos semanas hasta que de repente se quedo colgada. A partir de aquí los síntomas son peores que en el pc1 ya que nada más entrar en la aplicación ya aparece totalmente colgada.

He intentado de todo en el pc2: actualizar el IDAPI de la BDE, desinstalar y volver a instalar la aplicación de la forma normal y de la forma no habitual (borrar las entradas del registro de windows correspondientes a la aplicación, eliminar carpetas y su contenido del BDE, etc, etc). Y todo sigue igual.



Esta aplicación siempre ha funcionado en W95 perfectamente sin detectarse problema alguno.


Es raro pero no se que puede haber pasado. En un principio pense en problemas de incompatibilidad entre Delphi5 y WinXP o entre este y mi aplicación. Pero cuando vi que funcionaba bien en el pc2 pense en algún problema sin importancia en la configuración del pc1. Pero ahora ..... .

Saludos y gracias de antemano por vuestra colaboración.

ErKillo
Responder Con Cita
  #2  
Antiguo 01-02-2005
kike kike is offline
Registrado
 
Registrado: ene 2005
Posts: 4
Poder: 0
kike Va por buen camino
Puede que el timer se este ejecutando mas de una vez simultaneamente.
Prueba a deshabilitar el timer durante su ejecución y habilitarlo cuando finalice.
on timer.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := false;
Try
.
.
Finally
Timer1.Enabled := True;
end;
end;
Responder Con Cita
  #3  
Antiguo 02-02-2005
Killo Killo is offline
Registrado
 
Registrado: ene 2005
Posts: 8
Poder: 0
Killo Va por buen camino
Eso ya lo probe pero nada de nada. Siguio igual.

Gracias de todos modos.
Responder Con Cita
  #4  
Antiguo 02-02-2005
<Sergio> <Sergio> is offline
Miembro
 
Registrado: sep 2004
Posts: 72
Poder: 20
<Sergio> Va por buen camino
Esta muy feo, como el depurador no te ayuda tienes que llenar tu aplicación de todo tipo de controles, contadores, etc para que te avisen en todo momento que está pasando, cuantas veces llamas al timer, accesos a disco duro, inicio/fin de comunicación serial, contador de creación/destrucción de objetos, etc (Mejor llenar un archivo .txt con una especie de log de todo lo que pasa). Monitorea el consumo de memoria, cpu, etc. Verifica abrir archivos en modo de solo lectura si no los modificarás, recuerda como se comporta el xp en esos casos.
Responder Con Cita
  #5  
Antiguo 15-02-2005
Killo Killo is offline
Registrado
 
Registrado: ene 2005
Posts: 8
Poder: 0
Killo Va por buen camino
Solucionadooooooo . El problema venia derivado por la llamada a la función SetCommMask() desde una función llamada desde el Timer y desde otra llamada desde el hilo de comunicación. Típico pero invisible al estar dentro de funciones llamadas dentro de otras y cuya llamada depende de la coincidencia en el tiempo. Una pena de que el Debugger no sea capaz de informarte de ello.

Saludos.
Responder Con Cita
Respuesta



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 00:09:33.


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