【问题标题】:vb6 subscript out of range in zlibzlib中的vb6下标超出范围
【发布时间】:2014-02-04 06:16:05
【问题描述】:

我收到 subscript out of range 错误,这段代码的问题在哪里,

代码使用“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)

【问题讨论】:

  • 使用 IDE 找不到出错行的原因是什么?

标签: vb6


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-12-22
    • 2023-04-10
    • 1970-01-01
    • 2015-05-27
    • 2021-05-02
    • 1970-01-01
    • 2021-09-18
    • 2012-04-28
    相关资源
    最近更新 更多