Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1228497
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2008-08-31 09:52:09

用image控件不能正常显示Sql server2000数据库中的图片 Delphi / Windows SDK/API

大家好:  
        我想用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不支持



[新闻]Google推出Android Market挑战App Store
阅读(749) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~