用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
阅读(781) | 评论(0) | 转发(0) |