Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Mal funcionamiento de DateTimePicker (https://www.clubdelphi.com/foros/showthread.php?t=24959)

Thales 07-09-2005 20:49:54

Mal funcionamiento de DateTimePicker
 
Acabo de descubrir que el componente TDateTimePicker tiene un comportamiento muy curioso (o al menos a mi me pasa) y es que cuando se cambia la fecha mediante el calendario desplegable, éste llama dos veces al evento OnChange, mientras que si se cambia sin desplegar el calendario solo llama a dicho evento una sola vez.

¿Alguien sabría decirme una manera de evitar la doble llamada que menciono?

Muchas gracias y un saludo
Thales

roman 07-09-2005 21:17:36

No sé si es un bug o simplemente un mal diseño. Fíjate que al desplegar el calendario, si das click sobre el día que ya está seleccionado, el evento OnChange sólo se ejecuta una vez pero si das click sobre otro día es cuando se ejecuta dos veces. Es decir, se genera una vez al cambiar de día en el cuadro desplegado y otra vez al dar click.

Lo único que se me ocurre ahora es que lleves tú mismo el control de cambios:

Código Delphi [-]
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  if DateTimePicker1.DateTime <> LastDate then
  begin
    {
      Aquí lo que tengas que hacer    
    }

    LastDate := DateTimePicker1.DateTime;
  end;
end;

donde LastDate es una variable de tipo TDateTime.

// Saludos

Thales 07-09-2005 22:29:56

Solución sencilla y eficaz. Gracias


La franja horaria es GMT +2. Ahora son las 07:43:01.

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