C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 48 を表示中)
■26334 / )  Re[1]: オーバーフローにつきまして
□投稿者/ 魔界の仮面弁士 (867回)-(2008/10/07(Tue) 12:07:21)
No26330 (araya さん) に返信
> サンプルプログラム( http://yaplog.jp/orator/archive/76 )

失礼しました。修正しておきます。m(_ _;)m

> 問題ないUSBメモリでは(dbcv_unitmask)の数値桁数は4桁でした。
> オーハ゛ーフローになるUSBメモリでは(dbcv_unitmask)5桁(32768)でした。

そのドライブとは、P: でしょうか?

dbcv_unitmask そのものは本来DWORD 型です。
これは、「32 ビットの符号なし整数」なので、VB6 では Long 型
すなわち「32 ビットの符号付き整数」で代用してみてください。

≪修正前≫
Private Function GetDrivesFromMask(ByVal unitmask As Integer) As Variant()
  :
 Dim mask As Integer
 mask = unitmask
  :
End Function


≪修正後≫
Private Function GetDrivesFromMask(ByVal unitmask As Long) As Variant()
  :
 Dim mask As Long
 mask = unitmask
  :
End Function

返信 編集キー/


管理者用

- Child Tree -