![]() |
![]() |
| Paypal | 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 |
|