(WindowsXP VB5)
Private Sub Command1_Click()
Dim a As Long
HScroll1.Value = 20000
・
・
・
a = HScroll1.Value * 2 ←ここでエラーが出ます。
End Sub
(HScroll1はスクロールバーコントロールです。)
上のプログラムを実行すると、
「実行時エラー '6':オーバーフローしました。」
というエラーが出ます。
どうやら、「HScroll1.Value * 2」がスクロールバーのMaxプロパティの最大値の32767を超えたらエラーが出るようなのですが、代入しているわけではないのになぜエラーが出るのかよく分かりません。
イミディエイトウインドウで、
Debug.Print HScroll1.Value * 2
としてもエラーが出ました。
ご存知の方、教えていただけないでしょうか。よろしくお願い致します。
サイト内を"オーバーフロー"で検索してみてください
全く知りませんでした;;
こういうエラーは、型が小さいものに大きな数字を代入しようとしたときにだけ出るものだとずっと思い込んでいました。変数や定数には型があることは知っていましたが、こういう数値にも型があるとは知りませんでした。
ガッさん、どうもありがとうございました。
(ここを見て解決しました。)
オーバーフローについて
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200606/06060103.txt
| ツイート |
|