エラーの原因を教えてください!
ZLib で 以下の関数を使うとDecompress呼び出しで error! と表示されてしまいます

uses ZLib;
procedure Test(str:string);
var
 P:PChar;
 PSize, I:Integer;
 POut:Pointer;
 Ms:TMemoryStream;
begin
 Ms := TMemoryStream.Create;

 P := PChar( str );
 Ms.Write( P, Length( P ) );

 ZLib.CompressBuf( Ms.Memory, Ms.Size, POut, PSize );

 Ms.Clear;
 Ms.Write( POut, PSize );

 ZLib.DecompressBuf( Ms.Memory, Ms.Size, 0, POut, PSize );

 Ms.Free;
end;