Cita:
procedure TfrmConPadron.Button1Click(Sender: TObject);
var
jpg:TJPEGImage;
stream:TMemoryStream;
begin
stream:=TMemoryStream.Create;
jpg:=TJPEGImage.Create;
frmConPadron.Image1.Picture:=nil;
try
// en esta linea es que me da el error
frmdata.blofield(frmdata.st_foto.fieldbyname('imagen')).SaveToStream(stream);
stream.Seek(0, soFromBeginning);
jpg.LoadFromStream(stream);
frmConPadron.Image1.Picture.Assign(jpg);
finally
stream.Free;
jpg.Free;
end;
end;
|
Utiliza mejor una función como esta
Código Delphi
[-]function GetFieldToJPG(FieldName: String): TJPEGImage;
var
Stream: TMemoryStream;
begin
Stream := TMemoryStream.Create;
Result := TJPEGImage.Create;
with frmData do
begin
try
TBlobField(FieldByName(FieldName)).SaveToStream(Stream);
Stream.Position := 0;
if (Stream.Size > 0) then
Result.LoadFromStream(Stream)
else
Result := nil;
finally
Stream.Free;
end;
end;
end;
procedure TfrmConPadron.Button1Click(Sender: TObject);
begin
frmConPadron.Image1.Picture.Assign(GetFieldToJPG('IMAGEN'));
end;
Un saludo
P.D.: A la hora de escribir código en delphi me gusta que sea elegante y atractiva.