FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
TDTParseInputEvent, Bug de Delphi 7 ?
Hola a todos.
Haciendo unas pruebas con el componente TDateTimePicker para contestar a un compañero, creo que apareció un bug. El problema sucede cuando pongo la propiedad ParseInput:= True para que me permita aprovechar el evento OnUserInput. Pero este evento jamás se dispara. No es un componente que use mucho y nunca lo había notado. Según la ayuda de Delphi: Delphi syntax: type TDTParseInputEvent = procedure(Sender: TObject; const UserString: string; var DateAndTime: TDateTime; var AllowChange: Boolean) of object; property OnUserInput: TDTParseInputEvent; Sintetizando... el código que realizé: Código:
type TForm1 = class(TForm) DTimePicker: TDateTimePicker; Button1: TButton; procedure FormCreate(Sender: TObject); private procedure DTimePickerUserInput(Sender: TObject; const UserString: string; var DateAndTime: TDateTime; var AllowChange: Boolean); public end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin DTimePicker.ParseInput:= True; DTimePicker.OnUserInput:= DTimePickerUserInput; end; procedure TForm1.DTimePickerUserInput(Sender: TObject; const UserString: string; var DateAndTime: TDateTime;var AllowChange: Boolean); begin ShowMessage('*'); // Beep o poniendo un Break, no entra a esta línea end; Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 17-04-2010 a las 09:52:50. |
#2
|
||||
|
||||
Segun mis pruebas el evento OnUserInput se dispara siempre y cuando el
TDateTimePicker tenga el cursor o el foco y presionemos con el Mouse como queriendo seleccionar una fecha del calendario(desplegar el calendario); al hacer ésto inmediatamente se dispara dicho evento. Desde luego como tú lo has dicho la propiedad ParseInput del TDateTimePicker deberá estar en TRUE . PD. Tal parece que la primera vez, al ejecutar la aplicacion, no se dispara dicho evento, pero luego si lo hace. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#3
|
||||
|
||||
Hola rgstuamigo, gracias por responder.
Sí, sucede tál como decis; al iniciar la aplicación no responde, luego sí. Dado lo símple del código de prueba, viendo que no respondía y habiendo leido en la ayuda: 'Write an OnUserInput event handler implement special processing that needs to occur when the user types directly into the TDateTimePicker' Todo me inducia a pensar que no se ejecutaba. Gracias de nuevo y Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 22-04-2010 a las 23:43:34. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta Delphi 6, Delphi 2005 y Delphi 2006 | Leviatan | Varios | 6 | 18-08-2007 16:02:08 |
|