Может быть лучше сделать что-то вроде такого :
Код:
type
TDlg_Input_Date = class(TForm)
OKBtn: TButton;
CancelBtn: TButton;
Label1: TLabel;
Date: TDateTimePicker;
Label_Head: TLabel;
private
{ Private declarations }
public
{ Public declarations }
function Execute : boolean;
end;
//Вызов диалога для ввода даты
function Input_Date(sHead : string; Var sDate : string) : boolean;
implementation
{$R *.DFM}
function Input_Date(sHead : string; Var sDate : string) : boolean;
//Вызов диалога для ввода даты
Var
FormX : TDlg_Input_Date;
DT : TDateTime;
begin
Result:=false;
FormX:=TDlg_Input_Date.Create(nil);
TRY
FormX.Label_Head.Caption:=trim(sHead);
sDate:=trim(sDate);
if IsDateStr(sDate) then begin
if DateStr_to_DateTime(sDate,DT) then begin
FormX.Date.Date:=DT;
end;
end;
//Открываем окно диалога
if FormX.Execute then begin
sDate:=DateToStr(FormX.Date.Date);
Result:=true;
end;
FINALLY
if FormX<>NIL then begin
FreeAndNil(FormX);
FormX:=NIL;
end;
END;
end;
function TDlg_Input_Date.Execute : boolean;
begin
Result:=false;
if ShowModal = mrOk then begin
Result:=true;
end;
end;
end.