现在的位置: 首页 > 综合 > 正文

用image控件不能正常显示Sql server2000数据库中的图片

2012年06月14日 ⁄ 综合 ⁄ 共 937字 ⁄ 字号 评论关闭
用image控件不能正常显示Sql server2000数据库中的图片 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_2006120308470195.html
大家好:  
        我想用image控件显示Sql   server2000数据库中的图片,程序如下。但出现错误,请指点。  
   
  procedure   TForm1.Button4Click(Sender:   TObject);  
  var  
      tmpstream   :   tmemorystream;  
  begin  
  adoquery2.Close;  
  adoquery2.SQL.Clear   ;  
  adoquery2.SQL.Text:='select   *   from   mao   ';  
  adoquery2.Prepared   :=true;  
  adoquery2.Open   ;  
  tmpstream:=tmemorystream.Create;  
  try  
      tblobfield(adoquery2.Fieldbyname('tuxiang')).SaveToStream(tmpstream);  
      tmpstream.Position:=0;       //少了它不行。  
      image1.Picture.Graphic.LoadFromStream(tmpstream);   //显示access   violation  
  finally  
      tmpstream.Free;  
  end;  
  end;  
   
  当程序执行到   image1.Picture.Graphic.LoadFromStream(tmpstream)   这  
  一句时系统报错,显示错误信息Access   Violation。为什么会出现这种情况,请老师指点。  
   
  最后问一句,tmpstream.position:=0这一句为什么不能少?

可能是图像格式问题,Timage不能识别,  
   
  tmpstream.position:=0不过是将流的位置移到最开始,保存到流时流指针已经移到流的尾部,所以要移到开始位置,好Load  
 

应该是图片格式,image不支持

抱歉!评论已关闭.