Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   hibernacion del windows da problemas (https://www.clubdelphi.com/foros/showthread.php?t=35795)

aladelta 20-09-2006 23:54:13

hibernacion del windows da problemas
 
Hola a todos;

Que tal, da gusto ver que todo funciona muy bien por estos fantasticos foros..

Pues para quien pueda hechar una manita, decir que tengo problemas con la hibernación del windows... es decir, que estoy trabajando en un programa, y cuando dejas de usar el aparato (me pasa tanto en pcs como en portatiles) el windows se pone a hibernar y se desconecta del servidor (tambien me pasa en local), hecho que ha de ser asi porque al reactivar ha de pedir de nuevo el usuario y la contraseña (debido a la ley de proteccion de datos), y ocurre que al activar el windows y aparecer la pantalla con el programa, "sorpresa"...hay datos que han desaparecido del dbgrid...y conforme te mueves por el dbgrid van apareciendo.

Bien es cierto que no pasa con todos los campos, y me he dado cuenta que es con los campos calculados, pero no tengo ni repajolera idea de como enfrentarme a esto, ya que no puedo quitar la hibernación...

Gracias de antemano a todos....:)

roman 21-09-2006 01:06:14

Por lo que comentas, parece no que se pierdan los datos, sino que el grid no se redibuja correctamente al regresar de la hibernación. Podrías intentar hacer un Refresh, ya sea del grid o del formulario, cuando se restaure el sistema. Para ello interceptas el mensaje WM_POWERBROADCAST:

Código Delphi [-]
const
  PBT_APMRESUMESUSPEND = $07;

type
  TForm1 = class(TForm)
  private
    procedure WMPowerBroadcast(var Msg: TMessage); message WM_POWERBROADCAST;
  end;

implementation

procedure TForm1.WMPowerBroadcast(var Msg: TMessage);
begin
  inherited;

  if Msg.WParam = PBT_APMRESUMESUSPEND then
  begin
    {
      Aquí haces el refresh;
    }
  end;
end;

// Saludos

aladelta 21-09-2006 18:03:03

Gracias Roman por la respuesta y tu interes, voy aprobarlo ahora mismo y cuento los resultados...

Hasta luego

aladelta 05-10-2006 20:39:34

Perfecto!!!...muchas gracias...

roman 05-10-2006 21:11:06

Pues vaya que estuvo larga la hibernación :p :D

JerS 21-01-2009 03:18:17

Cita:

Empezado por roman (Mensaje 158395)
Por lo que comentas, parece no que se pierdan los datos, sino que el grid no se redibuja correctamente al regresar de la hibernación. Podrías intentar hacer un Refresh, ya sea del grid o del formulario, cuando se restaure el sistema. Para ello interceptas el mensaje WM_POWERBROADCAST:

Código Delphi [-]const PBT_APMRESUMESUSPEND = $07; type TForm1 = class(TForm) private procedure WMPowerBroadcast(var Msg: TMessage); message WM_POWERBROADCAST; end; implementation procedure TForm1.WMPowerBroadcast(var Msg: TMessage); begin inherited; if Msg.WParam = PBT_APMRESUMESUSPEND then begin { Aquí haces el refresh; } end; end;


// Saludos

Buenas amigo Roman, llevando mas o menos la ide de este hilo, yo necesito hacer algo parecido pero mi problema es que cuando hiberna y vuelve a la normalidad me desactiva los dispositivos USB, me gustaria saber si puedo mandar a reactivar los puertos USB por delphi


La franja horaria es GMT +2. Ahora son las 05:17:40.

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