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

用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不支持

转载于:https://www.cnblogs.com/delphi2007/archive/2008/08/31/1280473.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值