ZLIB解压缩如何搞?我搜索到以前的贴子的程序,执行时出错。
我完全照搬下面的源码:
void __fastcall TForm1::Button2Click(TObject *Sender) // 解压
{
int count;
TMemoryStream *sm=new TMemoryStream;
sm->LoadFromFile("c:\\test123.dat");
sm->ReadBuffer(&count,sizeof(count)); // 源流中取长度
char *buffer=new char[count];
TDecompressionStream *cm;
cm=new TDecompressionStream(sm); // 从sm的当前位置起解压?
cm->ReadBuffer(buffer,count); // 解压的流读入缓冲
delete cm; // 先删cm
TMemoryStream *dm=new TMemoryStream; // 将buffer写入文件
dm->WriteBuffer(buffer,count);
dm->Position=0;
dm->SaveToFile("c:\\test1234.dbf");
delete buffer;
delete sm;
delete dm;
ShowMessage("Decompressed!");
}
第一次执行时,提示我没找到zlib.pas,然后我定位到zlib.pas之后,出现错误是在
cm=new TDecompressionStream(sm); 这一句,说不能新建。
我是在BCB6下。
请问如何解决?