扯蛋的问题,关于 DBImage......???????

                            
我试过很多方法,都不灵。   
  如果你有好办法,请回附,QQ:199577850  
  或、Mail   to:   SEFox@sohu.com  
   
   
  我在网上下了一个关于使用     Image     读取     Access     中     OLE     类型字段的程序代码      
  想用来读取我的库中的     OLE     类型字段,这个字段是保存     BMP     图片的,名称为     Photo      
  可是下载的程序代码总是报错“位图图像无效”      
  而我的库设计和图片格式均正确      
     
  不知何故,请高手分析一下      
     
     
  以下是我下载的代码部分      
     
  是用于处理     OLE     字段的过程      
  procedure     LoadImageFromField(APicture:     TPicture;     AField:     TBlobField);      
  var      
        ABitmap:     TBitmap;      
        AStream:     TMemoryStream;      
  begin      
        if     AField.IsNull     then      
                Exit;      
     
        AStream     :=     TMemoryStream.Create;      
        try      
                AField.SaveToStream(AStream);      
     
                //     Skip     OLE     storage     header      
                AStream.Seek(78,     soFromBeginning);      
                ABitmap     :=     TBitmap.Create;      
                try      
                        ABitmap.LoadFromStream(AStream);      
                        APicture.Graphic     :=     ABitmap;      
                finally      
                        ABitmap.Free;      
                end;      
        finally      
                AStream.Free;      
        end;      
  end;      
     
  经查,错误总是出现在         ABitmap.LoadFromStream(AStream);      
  将此行删除,程序可以正常运行,但没有图片显示      
     
  在     ADODataSet1     的     AfterScroll     事件中呼叫     LoadImageFromField     函式:      
     
  procedure     TForm1.ADODataSet1AfterScroll(DataSet:     TDataSet);      
  begin      
        LoadImageFromField(      
                Image1.Picture,      
                DataSet.FieldByName('Photo')     as     TBlobField      
        );      
  end;      
     
     
  请高手过目,并指出存在的问题!!!!!      
  谢谢      
 

查看回复

最新教程