HI i don't know what doing wrong i have app testing with some data and image files store in blob fields on buffer dataset look good save file
procedure TFormmsgDlgs.BtnSaveClick(Sender: TObject);
Var ms: TMemoryStream;
buf: TBytes;
begin
FormMain.BDMessages.FieldByName('ImageFile').AsString:= FileNameEdit1.FileName;
ms := TMemoryStream.Create;
Image1.Picture.SaveToStream(ms);
SetLength(buf, ms.Size);
ms.Read(PByte(buf)^, ms.Size);
FormMain.BDMessages.FieldByName('Imagen').AsBytes := buf;
FormMain.BDMessages.Post;
FormMain.BDMessages.SaveToFile(GetCurrentDir+'\messagedlg.db');
ms.Free;
Self.close;
end;
but when i try to load image pincture from bufferdataset send me a error..
procedure TFormmsgDlgs.FormShow(Sender: TObject);
var
stream: TStream;
begin
if lnew=true then begin
FormMain.BDMessages.Open;
FormMain.BDMessages.Append;
FileNameEdit1.FileName :='';
FormMain.BDMessages.FieldByName('ID').AsINteger:=FormMain.BDMessages.RecNo+1 ;
end else begin
FormMain.BDMessages.edit;
DBEID.ReadOnly:=true;
FileNameEdit1.FileName :=FormMain.BDMessages.FieldByName('ImageFile').AsString;
Image1.Picture.Clear;
if( not FormMain.BDMessages.FieldByName('imagen').IsNull) then begin
stream := FormMain.BDMessages.CreateBlobStream(FormMain.BDMessages.FieldByName('imagen'), bmRead); //load image from bufds
if stream.Size > 0 then
begin
stream.Position := 0;
Image1.Picture.LoadFromStream(stream);
// Image1.Picture.LoadFromStreamWithFileExt(stream, 'jpg');
end;
stream.Free;
end;
end;
end;