Oi, eu tenho um exemplo em casa, me manda um email em pvt que eu te passo e bem simples...
-- Ismair C. Alves msn: [EMAIL PROTECTED] PontoConf Soluções em Software Livre. Em 03/05/07, Marcelo <[EMAIL PROTECTED]> escreveu: > > Amigos da lista, venho, desesperadamente, solicitar a ajuda de vcs. > > Estou tentando salvar um JPEG no Firebird + está dando o seguinte erro: > "Bitmap image is not valid" > > O código como base que peguei está em: > http://www.delphi.eti.br/ver_dica.php?id=6672 > > Na nossa lista, eu achei assuntos referente, peguei os exemplos mas > também deu o mesmo erro. Por isso estou vindo até os amigos da lista. Se > alguém puder me ajudar eu agradeço. > > Estou usando o Firebird 1.5 - IBO 4.2.Ga - Delphi 6 Professional > O campo no banco de dados está como Blob - Binary > O campo na Query está como: BlobType - ftParadoxOle > > segue abaixo o código: > > const > OffsetMemoryStream : Int64 = 0; > > para abrir e salvar a foto: > > var jpg1 : TJpegImage; > > if OPPicture.execute then > image1.Picture.LoadFromFile(OPPicture.FileName); > > if OPPicture.FileName <>'' then > begin > jpg1 := TJpegImage.Create; > jpg1.LoadFromFile(OPPicture.FileName); > Dm1.TbPro.FieldByName('FotoPro').Assign(jpg1); > jpg1.Free; > end; > > para carregar a foto: > > var MemoryStream: TMemoryStream; > Jpg: TJpegImage; > > if not(Dm1.TbPro.IsEmpty) and > not((Dm1.TbPro.FieldByName('FotoPro') as TBlobField).IsNull) then > try > MemoryStream:= TMemoryStream.Create; > Jpg := TJpegImage.Create; > (Dm1.TbPro.FieldByName('FotoPro') as > TBlobField).SaveToStream(MemoryStream); > MemoryStream.Position := OffsetMemoryStream; > Jpg.LoadFromStream(MemoryStream); > Image1.Picture.Assign(Jpg); > finally > // Jpg.Free; > MemoryStream.Free; > end > else > Image1.Picture := Nil; > end; > > Desde já agradeço a todos. > > [As partes desta mensagem que não continham texto foram removidas]