Fórum erro ao Salvar imagem na tabela #312511
10/02/2006
0
- Firebir 1.5, delphi 7
- Campo da tabela: ´IMAGEM BLOB SUB_TYPE 0 SEGMENT SIZE 240´
Dm.Tbl_Corretor.insert; Dm.Tbl_CorretorImagem.LoadFromFile(OpenPictureDialog1.FileName); Dm.Tbl_Corretor.post; Dm.Tbl_Corretor.applyupdates; showMessage(´imagem gravada com sucesso´);
o erro que é retornado é o seguinte: ´Internal Error´
- mesmo dando esse a imagem é salva na tabela, porem nao é exibido o ´ShowMessage´
- Ja tentei com o componente TImage e TDBImage... com ambos gera o mesmo erro.
Obs: baixei um componente sugerido por um colega do forum. ´eDBImage´, porem nao consegui instala-lo, entao preferia que fosse com os componentes nativos do delphi...
se alguem puder me ajudar...
Abraços!
Mahdak
Curtir tópico
+ 0Posts
13/02/2006
Mahdak
uses ..... jpeg,Clipbrd; . . . . . . var jpg:TJpegImage; begin if OpenPictureDialog1.Execute then begin jpg := TJpegImage.Create; jpg.LoadFromFile(OpenPictureDialog1.FileName); clipboard.Assign(jpg); DBImage1.PasteFromClipboard; jpg.Free; end; end;
- porem ainda continuo tendo o o erro: ´Internal error´ ...
Obs: mesmo com esse erro a imagem é salva na tabela....
Alguem ja passou por isso? alguem poderia me dar uma mão?
Abraços!
Gostei + 0
13/02/2006
Mahdak
Dm.Tbl_Corretor.post;
Dm.Tbl_Corretor.applyupdates;
porem nao salva....
e agora..... :cry:
Gostei + 0
13/02/2006
Martins
Dm.Tbl_Corretor.Append; Dm.Tbl_CorretorImagem.Assign(OpenPictureDialog1.FileName); Dm.Tbl_Corretor.post; Dm.Tbl_Corretor.applyupdates; showMessage(´imagem gravada com sucesso´);
Espero q funcione para o q vc deseja!
Gostei + 0
13/02/2006
Martins
var Img: TJpegImage; BStream : TBlobStream; begin Dm.Tbl_Corretor.Append; BStream := TBlobStream.Create((Imagem as BlobField), BMWrite); Img := TJpegImage.Create; Img.LoadFromFile(OpenPictureDialog.FileName); Img.SaveToStream(BStream); BStrteam.Free; Img.Free; Dm.Tbl_Corretor.post; Dm.Tbl_Corretor.applyupdates; showMessage(´imagem gravada com sucesso´); end;
Boa Sorte!!!
Gostei + 0
13/02/2006
Mahdak
-----
[Error] U_Corretor.pas(431): Incompatible types: ´TPersistent´ and ´TFileName´
Gostei + 0
13/02/2006
Mahdak
opa, desculpa nao tinha visto a correção do código, mas o delphi gerou o seguinte erro:
[Error] U_Corretor.pas(374): Undeclared identifier: ´TBlobStream´
Será que tem que eclarar algo em USES???
Gostei + 0
13/02/2006
Mahdak
DBTables
Gostei + 0
13/02/2006
Mahdak
BStream := TBlobStream.Create((Imagem as TBlobField), BMWrite);
´Imagem´ é um campo certo?? que campo é esse???
Gostei + 0
13/02/2006
Mahdak
var Img:TJpegImage; BStream : TBlobStream; Imagem:TBlobField; Dm.Tbl_Corretor.Append; BStream := TBlobStream.Create((Imagem as TBlobField), BMWrite); Img := TJpegImage.Create; Img.LoadFromFile(OpenPictureDialog1.FileName); Img.SaveToStream(BStream); BStream.Free; Img.Free;
- Deu erro de Acess Violation at adress.....
Gostei + 0
14/02/2006
Emerson Nascimento
var Img:TJpegImage; BStream : TBlobStream; begin Dm.Tbl_Corretor.Append; BStream := TBlobStream.Create((Dm.Tbl_CorretorImagem as TBlobField), BMWrite); Img := TJpegImage.Create; Img.LoadFromFile(OpenPictureDialog1.FileName); Img.SaveToStream(BStream); BStream.Free; Img.Free; Dm.Tbl_Corretor.Post; end;
Gostei + 0
14/02/2006
Martins
var Img:TJpegImage; BStream : TBlobStream; begin Dm.Tbl_Corretor.Append; BStream := TBlobStream.Create((Dm.Tbl_CorretorImagem as TBlobField), BMWrite); Img := TJpegImage.Create; Img.LoadFromFile(OpenPictureDialog1.FileName); Img.SaveToStream(BStream); BStream.Free; Img.Free; Dm.Tbl_Corretor.Post; end;
Valew pela contribuição [b:f6926dc169]Emerson.en[/b:f6926dc169]!
Gostei + 0
14/02/2006
Mahdak
´Invalid Class Typecast.´
o que poderia ser isso?
Gostei + 0
15/02/2006
Mahdak
Gostei + 0
15/02/2006
Martins
procedure TFrmFabianovo.LoadFotoBanco(Arquivo: String); Var stImagem: TFileStream; begin stImagem := TFileStream.Create( Arquivo, fmOpenRead or fmShareDenyWrite ); Try ibdsClienteFOTO.LoadFromStream( stImagem ); Finally stImagem.Free; End; end; procedure TFrmFabianovo.GetImgBanco(var foto: TImage); Var jpgImg: TJPEGImage; stMem: TMemoryStream; begin If ibdsClienteFOTO.IsNull Then Exit; jpgImg := TJPEGImage.Create; stMem := TMemoryStream.Create; Try ibdsClienteFOTO.SaveToStream( stMem ); stMem.Position := 0; jpgImg.LoadFromStream( stMem ); foto.Picture.Assign( jpgImg ); Finally stMem.Free; jpgImg.Free; End; end;
Estou usando TImage no lugar de TDBImage
Gostei + 0
16/02/2006
Mahdak
fiz desse jeito e ele gerou um erro: ´JPG error #42´
Abraços!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)