我正在用delphi开发一个应用程序。我正在尝试提取保存在数据库中的图像,将其保存到TMemoryStream
并加载相同的图像,并将其TImage
放置在将动态填充的其他表单上的控件上。当我尝试将图像从流加载到放置在表单上的图像控件时,出现访问冲突错误。
错误描述如下
模块 abc.exe 中地址 00B548C 的访问冲突。读取地址 0000000
我的代码片段如下
UniConnection1.Connected := true;
UniQuery2.SQL.Text := 'Select image from userplays where id = :id';
UniQuery2.Params.ParamByName('id').Value := idpub1;
UniQuery2.Open;
if UniQuery2.FieldByName('image').AsString <> '' then
begin
try
Stream121 := TMemoryStream.Create;
TBlobField(UniQuery2.FieldByName('image')).SaveToStream(Stream121);
Stream121.Position := 0;
if Assigned(Stream121) then
begin
Image1.Picture.Graphic.LoadFromStream(Stream121);
Image1.Update;
end;
finally
Stream121.Free;
end;
end;