スクロールバーでおかしなことが

解決


Noll  2007-04-14 21:37:35  No: 136061

(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
としてもエラーが出ました。

ご存知の方、教えていただけないでしょうか。よろしくお願い致します。


ガッ  2007-04-14 21:46:27  No: 136062

サイト内を"オーバーフロー"で検索してみてください


Noll  2007-04-15 05:32:01  No: 136063

全く知りませんでした;;
こういうエラーは、型が小さいものに大きな数字を代入しようとしたときにだけ出るものだとずっと思い込んでいました。変数や定数には型があることは知っていましたが、こういう数値にも型があるとは知りませんでした。
ガッさん、どうもありがとうございました。

(ここを見て解決しました。)
オーバーフローについて
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200606/06060103.txt


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加