如何使用ZLIB解码SWF文件?(200分)

  • 主题发起人 主题发起人 tanxj
  • 开始时间 开始时间
T

tanxj

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,为何这样会出错?
procedure TMainform.MyZlibFile(FileName : string);
var
IStream : TFilestream;
OStream : TFileStream;
jyl: TDeCompressionStream;
buf: array[1..512] of byte;
sjread: integer;
begin
Istream := TFilestream.Create(FileName,fmOpenRead);//TStream.Create;
OStream := TFileStream.Create(MyPath + '/Temp.swf',fmCreate);
iStream.Position := 20;
jyl := TDeCompressionStream.Create(iStream);
try
repeat
//读入实际大小
showmessage('开始解码');
sjRead := jyl.Read(buf, sizeof(buf));
showmessage('解了'); //老是到不了这一步.
if sjread > 0 then
OStream.Write(buf, sjRead);
until (sjRead = 0);
finally
jyl.Free;
end;
 
有谁知道哪有高版本的ZLIB下,D6的好象有问题解压时如果读一个比设定缓冲区少的流是会死掉!
 
后退
顶部