procedure TForm1.ToolButton5Click(Sender: TObject);
var  ghy:TClientBlobStream;  
pic:TJpegImage;  
OutStream:TMemoryStream;
begin 
 DbImage1.Picture.Graphic := nil;
  OutStream:=TMemoryStream.Create; 
 ghy := TClientBlobStream.Create(TBlobField(CDM.QClientDataSet.FieldByName('Image')), bmRead); 
 PowerArcDecompress(ghy,OutStream,ProgressCallback);//这是一个解压缩过程,它是正确的。  
try  
  if ghy.Size > 0 then
    begin 
     Pic := TJpegImage.Create;   
   try       
Pic.LoadFromStream(OutStream);    
   DBImage1.Picture.Graphic:=Pic;   
   finally    
   Pic.Free;    
  end;   
 end; 
 finally 
 ghy.Free; 
 OutStream.Free; 
 end;
end;//执行完后报错(JP#41错误)。
问:但是我把它用文件流转换成本地文件,却可以正常浏览。
 procedure TForm1.ToolButton5Click(Sender: TObject);
var  ghy:TClientBlobStream; 
 OutStream:TFileStream;
begin  
DbImage1.Picture.Graphic := nil; 
 If FileExists('c:\bbb.jpg') Then  
If DeleteFile('c:\bbb.jpg')=False Then Exit; 
 OutStream:=TFileStream.Create('c:\bbb.jpg',fmCreate); 
 ghy := TClientBlobStream.Create(TBlobField(CDM.QClientDataSet.FieldByName('Image')), bmRead); 
 PowerArcDecompress(ghy,OutStream,ProgressCallback);//这是一个接压缩过程。 
 ghy.Free;
  OutStream.Free; 
 DBImage1.Picture.LoadFromFile('c:\bbb.jpg');
end;
这些是用文件流转换成本地文件,它是正确的。