Ver Mensaje Individual
  #3  
Antiguo 23-11-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Recuerda también utilizar bloques TRY..FINALLY para evitar que queden cosas abiertas si algo falla.

Código Delphi [-]
procedure TfrmPacientes.cargar_imagen;
Var
  bmp: TBitmap; Stream: TStream;
  bs      : TMemoryStream;
begin
  with DM.QryPacientes do
  begin
     Stream := dm.QryPacientes.CreateBlobStream(dm.QryPacientes.FieldByName('pxfoto'), bmWrite);
     try {<---}
        imgfoto.Picture.Graphic.SaveToStream(Stream);
     finally {<---}
        Stream.Free;
     end; {<---}
  end;
end;

procedure TfrmPacientes.mostrar_imagen;
var
  Stream: TStream;
begin
  Stream := dm.QryPacientes.CreateBlobStream(dm.QryPacientes.FieldByName('pxfoto'), bmRead);
  try {<---}
     try {<---}
        Stream.Seek(0, soFromBeginning);
        imgfoto.Picture.Graphic.LoadFromStream(Stream);
     except {<---}
       // Si falla limpio la foto para que no quede la anterior
       imgfoto.Picture := nil;
     end; {<---}
  finally {<---}
     Stream.Free;
  end; {<---}
end;
Responder Con Cita