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;