CDateTimeCtrlでアサート発生 – プログラミング – Home

CDateTimeCtrlでアサート発...
 
通知
すべてクリア

[解決済] CDateTimeCtrlでアサート発生


Puppy
 Puppy
(@Puppy)
ゲスト
結合: 23年前
投稿: 71
Topic starter  

Puppyです。おはようございます。
Win2000,VC6でMFCを使ってます。

えと、質問はタイトルのとおりです。

ダイアログにはりつけたCDateTimeCtrlで1969年より古い値が
ユーザーによって選択されるとアサートしてしまいます。

どうしてなんでしょうか?
また、どうすればよいでしょうか?

月曜の朝からへんな質問ですいません。m(..)mぺこり


引用未解決
トピックタグ
Puppy
 Puppy
(@Puppy)
ゲスト
結合: 23年前
投稿: 71
Topic starter  

解決できました。(^-^;

どうしてだかはわからないんですけど1970より古い年を選ぶと
アサートしてしまうので、

DTN_DATETIMECHANGE メッセージを処理して
年が1970年未満だったら年を1970にしちゃいました。
(インチキでしょうか。。。)

このあたりのメッセージ処理、むずかしいですぅ。(T-T;
いろいろためして、やっとできましたぁ。(^-^;

お騒がせしました。m(..)mぺこり


返信引用
Puppy
 Puppy
(@Puppy)
ゲスト
結合: 23年前
投稿: 71
Topic starter  

Puppyです。

すでに解決チェックしていますけれど
なぜか 2039年以上が選択されてもアサートしますぅ。

どうしてなんでしょ?バグでしょうか?
ご存知のかた教えて下さい。m(..)mぺこり


返信引用
BAGUS
 BAGUS
(@BAGUS)
ゲスト
結合: 24年前
投稿: 2
 

http://www.microsoft.com/JAPAN/developer/library/vccore/_core_date_and_time.3a_.
general.2d.purpose_classes.htm

おそらく こういうことでしょう。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

CTimeの代わりにCOleDateTimeを使うと100/1/1から、9999/12/31までカバーできます。


返信引用
Puppy
 Puppy
(@Puppy)
ゲスト
結合: 23年前
投稿: 71
Topic starter  

BAGUSさん dairygoodsさん お返事ありがとうございます。

CTimeを使うとしかたないとゆうことですね。
COleDateTimeを使えば日付指定の範囲が広がるんですね。(^-^;

ありがとうございました。m(..)mぺこり


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました