Guest:
Register
|
Login
|
Member List
|
Search
|
Statistics
|
FAQ
Language
----------
Simplifed Chinese
Traditional Chinese
English
CnPack Forum
»
CnVCL 组件包
» 日历控件的BUG
‹‹ Last Thread
|
Next Thread ››
Poll
Trade
Reward
Activity
Printable Version
|
Email to Friend
|
Subscription
|
Favorites
Subject: 日历控件的BUG
sadanboy2010
新警察
UID 54590
Digest Posts 0
Credits 35
Posts 11
点点分 35
Reading Access 10
Registered 2010-11-7
Status Offline
#1
Post at 2010-11-7 21:46
Profile
|
Blog
|
P.M.
日历控件的BUG
在用到组件包中的月历组件时候发现一点问题。当日期调整到1582年的时候,月份为11月之后不会出现问题如图:
11月分之前就出现错误
Image Attachment
:
cuo.jpg
(2010-11-7 21:46, 35.15 K)
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#2
Post at 2010-11-8 12:50
Profile
|
Blog
|
P.M.
感谢报告,我查一下。
sadanboy2010
新警察
UID 54590
Digest Posts 0
Credits 35
Posts 11
点点分 35
Reading Access 10
Registered 2010-11-7
Status Offline
#3
Post at 2010-11-8 13:23
Profile
|
Blog
|
P.M.
这个问题应该和1582年的改历有关系,那个月直接被砍掉了10天,日期不连续了,但星期应该是连续。而程序中计算星期的时候好像没有考虑这个问题
[
本帖最后由 sadanboy2010 于 2010-11-8 13:26 编辑
]
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#4
Post at 2010-11-8 21:52
Profile
|
Blog
|
P.M.
确实是我们绘制的时候没处理好这历史上不存在的10天所致,目前已修正,最新的SVN上已提交了修正版。
您可通过以下介绍访问我们的SVN:
http://www.cnpack.org/showdetail.php?id=639&lang=zh-cn
sadanboy2010
新警察
UID 54590
Digest Posts 0
Credits 35
Posts 11
点点分 35
Reading Access 10
Registered 2010-11-7
Status Offline
#5
Post at 2010-11-9 13:47
Profile
|
Blog
|
P.M.
谢谢,你们!新的文件我一下载,但是发现了新的问题直接进入1582年10月显示是正常的,当用鼠标点击在本月隐形显示的下个月数据时候,却出现问题,不是直接跳转到11月而是1变22,下面的一次类推变化,应该是那不存在的10天又回来了
[
本帖最后由 sadanboy2010 于 2010-11-9 13:49 编辑
]
Image Attachment
:
xin.jpg
(2010-11-9 13:49, 40.45 K)
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#6
Post at 2010-11-9 16:39
Profile
|
Blog
|
P.M.
,我今晚再改改。
sadanboy2010
新警察
UID 54590
Digest Posts 0
Credits 35
Posts 11
点点分 35
Reading Access 10
Registered 2010-11-7
Status Offline
#7
Post at 2010-11-9 22:34
Profile
|
Blog
|
P.M.
十分感谢刘潇,我22点的时候去SVN上下载您今天刚修改过的文件,我在5楼提到的问题,表面上看是解决了,实际上还是没有解决,只是用了一个偷巧的方法,就是点击下个月的日期是就跳的11月去了,而10月页面的上的日期是变了的,比如1日就变成了22日,您可以点击日期后鼠标先不要放开看看有没有这个现象。还有一个问题,我没有在5楼提出来,因为中午时间紧没有来的急测试,晚上我把中午和现在编译的程序对比都存在的,就是初次运行程序时把日期调到1582年10月时,当我点击10月的1日到4日任意一日,20日那天的数字会变为15,再跳到别的月份再返回来就不会出现这个问题。如图:
[
本帖最后由 sadanboy2010 于 2010-11-9 22:35 编辑
]
Image Attachment
:
119.jpg
(2010-11-9 22:35, 41.87 K)
sadanboy2010
新警察
UID 54590
Digest Posts 0
Credits 35
Posts 11
点点分 35
Reading Access 10
Registered 2010-11-7
Status Offline
#8
Post at 2010-11-9 22:37
Profile
|
Blog
|
P.M.
还有就是出现上面问题后接着点击17日以及以后的日期直到31日会出现样的问题如图
Image Attachment
:
1192.jpg
(2010-11-9 22:38, 39.38 K)
sadanboy2010
新警察
UID 54590
Digest Posts 0
Credits 35
Posts 11
点点分 35
Reading Access 10
Registered 2010-11-7
Status Offline
#9
Post at 2010-11-9 22:41
Profile
|
Blog
|
P.M.
如果不点击1日到4日的话,出现的问题就有些诡异了从17日开始点击会变成这样
[
本帖最后由 sadanboy2010 于 2010-11-9 22:42 编辑
]
Image Attachment
:
1193.jpg
(2010-11-9 22:42, 39.74 K)
sadanboy2010
新警察
UID 54590
Digest Posts 0
Credits 35
Posts 11
点点分 35
Reading Access 10
Registered 2010-11-7
Status Offline
#10
Post at 2010-11-9 22:46
Profile
|
Blog
|
P.M.
经过对源代码的分析,我初步断定应该不是绘制时候出的问题,应该是delphi本身在计算日期方面存在问题,如果用儒略日数计算应该不会出现这个问题,这好像就要改的地方就很多了,就不能用delphi本身的日期计算函数了。我对delphi刚入门不知道分析的对不,请指教!
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#11
Post at 2010-11-10 13:05
Profile
|
Blog
|
P.M.
好的,感谢楼主的详细分析,我再看看。确实Delphi本身的日期计算也就是TDate中是允许存在1582年10月5日到14日这段不存在的日期的,导致的兼容性问题也很多。CnCalendar.pas单元中对此有处理,但CnMonthCalendar中可能未处理完全。
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#12
Post at 2010-11-12 21:13
Profile
|
Blog
|
P.M.
"点击日期后鼠标先不要放开看看有没有这个现象"——我在D5下和D7下按此实验,倒是没看见“10月页面的上的日期是变了的”这个现象。请问你是用的什么版本的Delphi?
sadanboy2010
新警察
UID 54590
Digest Posts 0
Credits 35
Posts 11
点点分 35
Reading Access 10
Registered 2010-11-7
Status Offline
#13
Post at 2010-11-13 13:31
Profile
|
Blog
|
P.M.
我用的是2010版,你先把日期条到1582年10月,不是每个月历都有显示上个月和下个月的日期吗?你点击10月页面里11月得日期不要放开鼠标,然后你挪动鼠标看看!不知道我表达清楚了没有
[
本帖最后由 sadanboy2010 于 2010-11-13 13:38 编辑
]
Image Attachment
:
cuo.png
(2010-11-13 13:37, 223.71 K)
Image Attachment
:
1.jpg
(2010-11-13 13:38, 28.02 K)
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#14
Post at 2010-11-13 14:43
Profile
|
Blog
|
P.M.
表达清楚了,我就是这么操作的,D5/7下没出现这个,我呆会2010下看看。
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#15
Post at 2010-11-14 12:50
Profile
|
Blog
|
P.M.
D2010下确实有这个绘制的问题。我跟了一下看看,发现问题出在我们自身Paint时RectVisible的判断上。
修改的版本SVN上已经提交,楼主可以再下过来试一试?
sadanboy2010
新警察
UID 54590
Digest Posts 0
Credits 35
Posts 11
点点分 35
Reading Access 10
Registered 2010-11-7
Status Offline
#16
Post at 2010-11-14 17:54
Profile
|
Blog
|
P.M.
问题解决了!
问题解决了
从中学了不少东西!谢谢潇哥
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#17
Post at 2010-11-14 19:40
Profile
|
Blog
|
P.M.
是啸。不少人都打错了。
Poll
Trade
Reward
Activity
CnPack Forum
CnPack English Forum
> CnWizards IDE Wizards
> CVSTracNT
> Announcements & Others
All times are GMT++8, the time now is 2024-11-22 07:17
Powered by
Discuz!
5.0.0
© 2001-2006
Comsenz Inc.
Processed in 0.011124 second(s), 10 queries , Gzip enabled
TOP
Clear Cookies
-
Contact Us
-
CnPack Website
-
Archiver
-
WAP
Member's CP Home
Edit Profile
Credits Transaction
Public User Groups
Buddy List
Main
Page Views
User Agents
Posts History
Top Forums
Top Threads
Post Ranking
Credit Ranking
Online Time
Team
Moderation Stats