Ver Mensaje Individual
  #14  
Antiguo 20-05-2007
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Reputación: 22
sitrico Va por buen camino
El problema está aqui:

Código Delphi [-]
   With l do
      Begin
      SQL.Clear;
      SQL.Add('SELECT  IDCITA, p.Cedula, P.IDPACIENTE, P.nombre, p.apellido, p.TLFCEL, p.SEXO, p.FCHNACIMIENTO,');
      SQL.Add('        FCHCITA, HORA, DURACION, IDAREA, IDESPECIALISTA,');
      SQL.Add('        STATUSCITA, OBSERVACIONES');
      SQL.Add('FROM    CI_CITAS C, dg_pacientes P');
      SQL.Add('Where p.idpaciente = c.idpaciente And FCHCITA = :FCHCITA AND IdAREA = :IDAREA');
      ParamByName('FCHCITA').AsDateTime := tp.Fecha;
      ParamByName('IDAREA').AsInteger := IdArea;
      Open; // aqui comienza el problema
      tp.MostrarCitasDelDia(l);  // While not eof do....
      Close;
      End;

Este es el ciclo crítico del Refresh (MostrarCitas) no se por que extraña razón al usar el debugger en la línea del Open; al presionar f8 o f7 en lugar de saltar a la siguiente línea (tp.MostrarCitasDelDia(c); ) salta otra vez al open; y de ahí en adelante sigue un comportamiento erratico.

Como se puede ver mis consultas están cerradas hasta tanto no se necesiten, (de hecho el código SQL lo coloque para el ejemplo pero se carga una sola vez en OnCreate);

Busqué eventos asociados a la DB, transaccion o query que pudieran cambiar la secuencia lógica pero NADA. ¿ Alguna idea ?

Nota: En otras ocaciones mi delphi ha tenido esos comportamiento erraticos pero generalmente se asociaban a eventos "inoportunos".

¿Hay alguna manera de forzar una sección de código para evitar que su ejecución sea interrumpida, algo como "DisableEvents"?

Por ahora no me quedo otra opción que "apagar" los eventos y usar una alarma (60seg) para refrescar automáticamente la información
__________________
Sitrico

Última edición por sitrico fecha: 20-05-2007 a las 22:49:29.
Responder Con Cita