tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルIsDate関数のバグ?
記事No251
投稿日: 2003/06/27(Fri) 21:47
投稿者tadashi
[OSのVer]:Windows xp    [VBのVer]:VB.NET(.net Framework1.0.3705)
 
 いつも参考にさせてもらっています。
 質問なのですが、IsDate関数で日付の入力チェックを行っているのですが、
  If IsDate(W_GENGO & W_YMD) = False Then
     Return False
  End If
 この時W_GENGO=H & W_YMD=15/01/33と値が入ってきた場合
 「・・・の初期例外が mscorlib.dllで発生しました。正の数値が必要です」
 というエラーメッセージがでてプログラムが終わってしまいます。
 IsDate関数は日付のチェックを実行して、Falseかtrueを返す関数だと思うんですが
 なぜ強制終了してしまうのでしょうか?
  OLEAUT32.dllのバージョンによっては変な動きをすると書いてあったのですが、
  OLEAUT32.dllのバージョンも問題ない(xpを使用の為)と思うのですが、
 どなたかご存知の方がいらしゃいましたら、お願いします。

[ツリー表示へ]
タイトルRe: IsDate関数のバグ?
記事No252
投稿日: 2003/06/28(Sat) 00:17
投稿者NAO★
XP で使用しています。(.net Framework のバージョンも同じ)

シンプルに
IsDate("H15/01/33")
というコードで試してみましたが、正常に実行されました。

ちなみに
Dim W_GENGO, W_YMD As String

W_GENGO = "H"
W_YMD = "15/01/33"
If IsDate(W_GENGO & W_YMD) = False Then
    Label1.Text = "失敗"
End If
というコードも正常に実行されました。

ということでIsDateのバグではなさそうです。
いちおうご報告まで。

[ツリー表示へ]
タイトルRe^2: IsDate関数のバグ?
記事No253
投稿日: 2003/06/29(Sun) 23:15
投稿者tadashi
NAO★さん。ありがとうございました。

色々実験をしてみましたが、いまいち原因がわかりません。
AというPCでslhファイルから動かした時はエラーなのですが、
.exeから起動した時はエラーにはなりませんでした。
またBというPCで起動したところ、Aとまったく同じ現象でした。
ただ不思議なのは、BというPCで別のslhファイルに同じソースを書いて実行すると
エラーにはなりませんでした。
(BのPCは.Net Framework1.0と.Net Framework1.1両方入っていますが、
 .Net Framework1.1は使用してません)

slhファイルが壊れてただけなのでしょうか?
ただslhファイル自身は.dllファイルを参照してるだけだと聞いたのですが・・
.Net Frameworkの違いなのでしょうか?
vb初心者なもので何か知っていましたら、情報をお願いします。

[ツリー表示へ]