PDA

Ver la Versión Completa : Problemas al almacenar imagen en campo blob


Manuel
15-06-2006, 16:57:54
Hola amigos del club, tengo un problema, tengo un software hecho en delphi 5 con motor de base de datos interbase, hace tiempo que almaceno la foto de los alumnos en un campo blob, todo bien, seleccionaba la foto en un software de tratamiento de imagenes y despues pegaba en mi aplicación.

dm.tAlumnosFoto.PastfromClipboard

no tuve nunca un problema pero desde que me cambie a winxp, ya nada, no pegaba la imagen. Bueno me consegui la siguiente rutina que la adepte a mi sistema.

procedure TFRegMatricula.bObtenerClick(Sender: TObject);
var
Jpg: TJpegImage;
Stream: TMemoryStream;
archivo: string;
begin
OpenPictureDialog1.Execute;
archivo := OpenPictureDialog1.FileName;
Jpg := TJpegImage.Create;
Jpg.LoadFromFile(archivo);

// Crear una corriente y guardar la imagen en ella

Stream := TMemoryStream.Create;
Jpg.SaveToStream(Stream);

Stream.Position := 0;
dm.TALUMNOSFOTO.LoadFromStream(Stream);
jpg.Free;
Stream.Free;

end;

pero sale un error, "mapa de bist no válido", no se que pasará, por que incluso tengo las foto almacenas, ahora lo que quiero es actualizarla. gracias por leer este mensaje.

waltergomez
15-06-2006, 20:42:04
Que es TALUMNOSFOTO ?
Te dejo una modificacion para mejorar tu codigo.


procedure TFRegMatricula.bObtenerClick(Sender: TObject);
var
Jpg: TJpegImage;
Stream: TMemoryStream;
begin
if OpenPictureDialog1.Execute then
begin
Jpg := TJpegImage.Create;
Jpg.LoadFromFile(OpenPictureDialog1.FileName);
Stream := TMemoryStream.Create;
Jpg.SaveToStream(Stream);
Stream.Position := 0;
dm.TALUMNOSFOTO.LoadFromStream(Stream);
jpg.Free;
Stream.Free;
end;
end;

Manuel
15-06-2006, 21:25:45
gracias walter pero me sigue motrando lo mismo, mapa de bits incorrecto

waltergomez
15-06-2006, 21:41:10
Manuel lo que puse no es para corregir el error.
Podes decirme que es TALUMNOSFOTO. Es un TField ?
En que linea te da el error ?
Salu2,

Manuel
15-06-2006, 22:52:02
Gracias walter por tu paciencia,

dm.TALUMNOSFOTO = tfield como muy lo dedujiste

dm.TALUMNOSFOTO.LoadFromStream(Stream); //Aqui me da el error

pero cuando cargo un archivo con formato .dmp, no hay problemas solo me los da con los de formato jpg.