トップ回答者
警告メッセージについて

質問
-
お世話になります。初歩的な質問で申し訳ございません。
Visual Studio2005 VB.netで開発をしております。
OS:WindowsXP Pro です。
1 Dim Filename As String="読み込みたいファイルパス"
2 Dim ReadData() As Byte
3 Dim FileFree As Short
4 Dim SeekPos As Long
5 Dim reqFile As BTRequestFile2="読み込むリクエストファイル"
6
7 ReDim ReadData(reqFile.Size - 1)
8 SeekPos = reqFile.Pos
9 FileFree = FreeFile()
10 FileOpen(FileFree, Filename, OpenMode.Binary, OpenAccess.Read)
11 FileGet(FileFree, ReadData, SeekPos + 1)
12 FileClose(FileFree)
上記のソースで11行目のReadDataのところで「ByRef' パラメータ 'Value' の値を、一致する引数に戻してコピーする際の、'System.Array' から 'Byte の 1 次元配列' への暗黙的な変換です。」
と警告メッセージが表示されます。
修正としてはReadData→ReadData(reqFile.Size - 1)
で良いのでしょうか?
申し訳ございませんがご教授お願いいたします。
回答
-
こんな
ReDim ReadData(reqFile.Size - 1) FileFree = FreeFile() FileOpen(FileFree, Filename, OpenMode.Binary, OpenAccess.Read) Dim ary As System.Array = System.Array.CreateInstance(GetType(Byte), ReadData.Length) FileGet(FileFree, ary, SeekPos + 1) FileClose(FileFree) ary.CopyTo(ReadData, 0) ary = Nothing
#FileGet等はVB6時代の古いやり方なので別の方法に変えたほうがいいとは思いますが…- 回答としてマーク 高橋 春樹 2009年12月10日 4:50
すべての返信
-
こんな
ReDim ReadData(reqFile.Size - 1) FileFree = FreeFile() FileOpen(FileFree, Filename, OpenMode.Binary, OpenAccess.Read) Dim ary As System.Array = System.Array.CreateInstance(GetType(Byte), ReadData.Length) FileGet(FileFree, ary, SeekPos + 1) FileClose(FileFree) ary.CopyTo(ReadData, 0) ary = Nothing
#FileGet等はVB6時代の古いやり方なので別の方法に変えたほうがいいとは思いますが…- 回答としてマーク 高橋 春樹 2009年12月10日 4:50
-