Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2005
Avatar de Thales
Thales Thales is offline
Miembro
 
Registrado: ago 2005
Posts: 48
Poder: 0
Thales Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 07-09-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #3  
Antiguo 07-09-2005
Avatar de Thales
Thales Thales is offline
Miembro
 
Registrado: ago 2005
Posts: 48
Poder: 0
Thales Va por buen camino
Solución sencilla y eficaz. Gracias
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 06:16:23.


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