大家好:
我想用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这一句为什么不能少?
我想用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这一句为什么不能少?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货