Invalid date validation in TAdvSmoothDatePicker.Change method

Helo, in AdvSmoothDatePicker.pas the following method has an issue:

procedure TAdvSmoothDatePicker.Change;
var
dt: TDateTime;
begin
// try to extract the date
try
if (Text = '') then
begin
FIgnoreSelect := true;
Cal.SelectedDate := 0;
FIgnoreSelect := false;
if (not AllowNumericNullValue) and (EmptyText = '') then
begin
if FFormat <> '' then
Text := FormatDateTime(FFormat, Now)
else
Text := DateToStr(Now);
end;
end
else
begin
TryStrToDate(Text,dt);
FIgnoreSelect := true;
try
Cal.SelectedDate := dt;
finally
FIgnoreSelect := false;
end;
end;
except
end;

if not (csLoading in ComponentState) then
inherited;
end;

Please note the usage of the function TryStrToDate. In this case the processing ignores the return value and tries to use dt variable regardless it is valid or not, which results in range overflow error or other issues. The easiest solution is to change the code like this:

...
end
else {new code} if TryStrToDate(Text,dt) then
begin
{ TryStrToDate(Text,dt); // removed }
FIgnoreSelect := True
...