我想用zlib解压数据块,数据块在文件中,我把文件映射到内存,调用inflate_init的时候第一个参数TZStreamRec 该怎么调用? 

解决方案 »

  1.   

    TZStreamRec 应该怎么初始化?
      

  2.   

    如果不是不想使用Stream的话,可以看看http://blog.csdn.net/unsigned/archive/2008/03/10/2164946.aspx
      

  3.   

    stream....想尽量简单一点不用stream不知道可不可以,内存中的数据getmem 一段内存
    用DecompressToUserBuf 复制到buf中,不知道为啥老报错
      

  4.   

    DecompressToUserBuf 这个过程没有返回值,无法从返回值中判断哪里出错啊,晕
      

  5.   

    uses Zlib;
    Function Compress(Const s: String): String;
    Var
      OutBuf                                : Pointer;
      OutBytes                              : Integer;
    Begin
      CompressBuf(@s[1], length(s), OutBuf, OutBytes);
      setString(result, pchar(OutBuf), OutBytes);
      FreeMem(OutBuf, OutBytes);
    End;Function DeCompress(Const s: String): String;
    Var
      OutBuf                                : Pointer;
      OutBytes                              : Integer;
    Begin
      DeCompressBuf(@s[1], length(s), Length(s), OutBuf, OutBytes);
      setString(result, pchar(OutBuf), OutBytes);
      FreeMem(OutBuf, OutBytes);
    End;
      

  6.   

    不是string..其实你没正面回我..