View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005840 | JEDI VCL | 00 JVCL Components | public | 2012-03-22 11:47 | 2012-09-10 14:15 |
| Reporter | ZENsan | Assigned To | obones | ||
| Priority | normal | Severity | block | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Platform | Windows | OS | Windows 7 64 | OS Version | |
| Product Version | |||||
| Target Version | Fixed in Version | 3.46 | |||
| Summary | 0005840: When TJvDBDateTimePicker is set to Kind = dkTime it works incorrectly. | ||||
| Description | When TJvDBDateTimePicker is set to Kind = dkTime it works incorrectly. First you get an exception when you try to set time to 0:00 and then second problem is that if you set NullText then you are not able to edit the value in editor at all. Can be related also to 0004332. | ||||
| Steps To Reproduce | 1) Run attached application; 2) Press up and then down on the first editor, you will get exception "You must be in ShowCheckbox mode to set to this date."; 3) Now try to modify the second editor - you will be not able to, but must. | ||||
| Tags | No tags attached. | ||||
|
2012-03-22 11:47
|
JvDBDateTimePicker.zip (1,360 bytes) |
|
2012-03-29 10:26
|
JvDateTimePicker.diff (570 bytes)
--- C:/Program Files (x86)/Embarcadero/RAD Studio/7.0/lib/jvcl/run/JvDateTimePicker.pas �� �� 10 15:47:26 2011 +++ C:/Users/hohlovm/Documents/RAD Studio/Projects/JVDBDateTimePicker/JvDateTimePicker.pas �� ��� 29 11:00:48 2012 @@ -152,10 +152,8 @@ end; function TJvDateTimePicker.WithinDelta(Val1, Val2: TDateTime): Boolean; -const - cOneSecond = 1 / 86400; begin - Result := Abs(Frac(Val1) - Frac(Val2)) <= cOneSecond; + Result := Abs(Frac(Val1) - Frac(Val2)) < EncodeTime(0, 0, 1, 0); end; function TJvDateTimePicker.CheckNullValue: Boolean; |
|
2012-03-29 10:26
|
JvDBDateTimePicker.diff (1,560 bytes)
--- C:/Program Files (x86)/Embarcadero/RAD Studio/7.0/lib/jvcl/run/JvDBDateTimePicker.pas �� �� 10 15:47:26 2011
+++ C:/Users/hohlovm/Documents/RAD Studio/Projects/JVDBDateTimePicker/JvDBDateTimePicker.pas �� ��� 29 11:25:08 2012
@@ -1,4 +1,4 @@
-{-----------------------------------------------------------------------------
+{-----------------------------------------------------------------------------
The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
@@ -573,17 +573,29 @@
procedure TJvDBDateTimePicker.CNNotify(var Msg: TWMNotify);
var
st: TSystemTime;
+ DtInfo: ^tagNMDATETIMECHANGE;
+ MsgRaw: TMessage absolute Msg;
begin
case Msg.NMHdr^.code of
DTN_DATETIMECHANGE:
begin
FDataLink.Edit;
if FIsReadOnly and not FDataLink.CanModify then
- begin
- DateTimeToSystemTime(DateTime, st);
- MsgSetDateTime(st);
- Exit;
- end;
+ begin
+ DateTimeToSystemTime(DateTime, st);
+ MsgSetDateTime(st);
+ Exit;
+ end
+ else if Kind = dtkTime then
+ begin
+ { Get the information about change }
+ if Field <> nil then
+ begin
+ DtInfo := Pointer(MsgRaw.LParam);
+ Field.Value := SystemTimeToDateTime(DtInfo.st);
+ end;
+ Exit;
+ end;
end;
end;
inherited;
|
|
|
In the original project there was one bug more! If you set the field to value of 1 second. Then second control (with nulltext) still displayed null text instead of 1 second. Attached patches fixes exception issue and second precion issue, but that one with NullText which cannot be changed afterwards are still unsolved in my patch. |
|
|
This is now in SVN |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2012-03-22 11:47 | ZENsan | New Issue | |
| 2012-03-22 11:47 | ZENsan | File Added: JvDBDateTimePicker.zip | |
| 2012-03-26 15:25 | obones | Status | new => acknowledged |
| 2012-03-29 10:26 | ZENsan | File Added: JvDateTimePicker.diff | |
| 2012-03-29 10:26 | ZENsan | File Added: JvDBDateTimePicker.diff | |
| 2012-03-29 10:28 | ZENsan | Note Added: 0019683 | |
| 2012-06-12 13:33 | obones | Note Added: 0019910 | |
| 2012-06-12 13:33 | obones | Status | acknowledged => resolved |
| 2012-06-12 13:33 | obones | Fixed in Version | => Daily / SVN |
| 2012-06-12 13:33 | obones | Resolution | open => fixed |
| 2012-06-12 13:33 | obones | Assigned To | => obones |
| 2012-09-10 14:15 | obones | Fixed in Version | Daily / SVN => 3.46 |