lcl: don't call Change two times when TDateEdit changes (fixes issue #0014977)

git-svn-id: trunk@23213 -
This commit is contained in:
paul 2009-12-21 10:12:25 +00:00
parent d08379fcd7
commit c238c57405
2 changed files with 15 additions and 14 deletions

View File

@ -1081,28 +1081,29 @@ begin
Text := '' Text := ''
else else
begin begin
If (FDateFormat='') then if (FDateFormat = '') then
Text:=DateToStr(Value) Text := DateToStr(Value)
else else
Text:=FormatDateTime(FDateFormat,Value) Text := FormatDateTime(FDateFormat, Value)
end; end;
if D <> Date then // don't call Change - it is called by assignment to Text
Change; // if D <> Date then
// Change;
end; end;
procedure TDateEdit.CalendarPopupReturnDate(Sender: TObject; procedure TDateEdit.CalendarPopupReturnDate(Sender: TObject;
const ADate: TDateTime); const ADate: TDateTime);
var var
B:Boolean; B: Boolean;
D:TDateTime; D: TDateTime;
begin begin
try try
B:=true; B := True;
D:=ADate; D := ADate;
if Assigned(FOnAcceptDate) then if Assigned(FOnAcceptDate) then
FOnAcceptDate(Self, D, B); FOnAcceptDate(Self, D, B);
if B then if B then
Self.Date:=D; Self.Date := D;
except except
on E:Exception do on E:Exception do
MessageDlg(E.Message, mtError, [mbOK], 0); MessageDlg(E.Message, mtError, [mbOK], 0);

View File

@ -137,7 +137,7 @@ end;
procedure TCalendarPopupForm.ReturnDate; procedure TCalendarPopupForm.ReturnDate;
begin begin
if assigned(FOnReturnDate) then if Assigned(FOnReturnDate) then
FOnReturnDate(Self, Calendar.DateTime); FOnReturnDate(Self, Calendar.DateTime);
if not FClosed then if not FClosed then
Close; Close;