vb6下标超出了zlib的范围

时间:2014-02-03 20:09:55

标签: vb6

我的下标超出范围错误此代码中存在问题,

代码使用“zlib”压缩来压缩字节数组,然后它将通过网络发送到服务器端。我的代码是,

sendfile = "C:\Users\bhavesh\Desktop\15.jpg"
uncompressed_size = FileLen(sendfile)
    Open sendfile For Binary As 1
    ReDim uncompressed_bytes(1 To LOF(1)) As Byte
    Get #1, 1, uncompressed_bytes()
    Close #1
    MsgBox "first : " & UBound(uncompressed_bytes) - LBound(uncompressed_bytes)


    compressed_size = 1.01 * uncompressed_size + 12
    ReDim compressed_bytes(0 To compressed_size)
    Select Case compress(compressed_bytes(0), compressed_size - 1, uncompressed_bytes(0), uncompressed_size + 1)
        Case Z_MEM_ERROR
            MsgBox "Insufficient memory", vbExclamation, "Compression Error"
            Exit Sub
        Case Z_BUF_ERROR
            MsgBox "Buffer too small", vbExclamation, "Compression Error"
            Exit Sub
    End Select
    ReDim Preserve compressed_bytes(0 To compressed_size)

1 个答案:

答案 0 :(得分:3)

您定义uncompressed_bytes的下限为1,然后引用它的第0个元素,这就是为什么你的下标超出范围。