実行時エラー'6';オーバーフローについて

解決


みじょ  2002-02-28 22:03:05  No: 104050

windowsXPで、実行ファイルを作って、ディストリビューションウィザードで
つくった、FDをwindows98に配布して、実行すると
実行時エラー'6';オーバーフローと出てしまいます。
XPではうまくいきます。
原因は、何でしょうか。改善方法を教えてください。
よろしくおねがいします


たかみちえ  URL  2002-03-01 00:02:14  No: 104051

オーバーフロー、桁あふれですね。
  データ型が原因です。
  変数の型が受け止められない大きなデータが、変数に代入されると、
それで発生します。

  XPと98では、それぞれの受け止められる限界が違う場合がありまそうですから、
たとえばInteger型で演算していて、限界にけっこう近い数値が出そうな場合、
そこをlong型に変えてみるとか。
(実際、long型の演算のほうが、integerより早いと聞きますし…)

  それと、もうちょっと厄介なのが、コントロールが内部で使っている変数が
オーバーフローした場合です。

  たとえば、スクロールバーなどなら、
98のスクロールバーはその数値をInteger型で記憶してます。
でも、XPではLong型だったと思います。

  この場合、98にあわせてLong型の数字を計算してうまく、
わりあいを同じにしたInteger型であらわすとか、
そういう工夫が必要になります。

  それから、Textboxの場合、XPでは何万MBのファイルも開けますけど、
98では、64MBまでの大きさのファイルしか開けません。

  この場合、見えない部分を他の変数に移してごまかすか、
リッチテキストボックスを使うかします。

  後半説明がわかりにくかったかと思いますけど、
わからなかったら、後でお手紙なりもういちど書き込みなりしてください^^:
  
  さて、で、まず上のチェックをしてみて、怪しげなところがあればなおしてみてください。
なければつかってるコントロールを、無理のいくような使い方をしてないか見なおしてみてください。


みじょ  2002-03-01 01:53:50  No: 104052

解決しました。どうもです。


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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