DBimage e openpicturedialog
[color=red:278b0baa05]Título editado por Massuda
Removido: ´ajuda urgente´[/color:278b0baa05]
Boa noite pessoal... preciso urgente de uma ajuda. Eu estou usando um dbgrid e um dbimage.
No dbgrid eu listo todos os clientes cadastrados no banco de dados. Então quando eu clico em cada cliente no dbgrid é listado no dbimage a foto do cliente. Blz, até aqui tá tudo certo, porém quando eu dou 2 cliques no dbimage ele abre o openpicturedialog e eu seleciono a foto que eu quero e mando abrir. Ok, a foto é mostrada no dbimage normalmente.
Bem, aqui começa o problema, pq depois que eu abro o openpicturedialog pela primeira vez quando eu clico no dbgrid pra selecionar outro cliente dá o seguinte erro:
´EFOpenError with message Cannot Open File minhafot.jpg´
O que pode ser?
Abaixo o código que estou usando pra abrir a imagem no dbimage:
OpenPictureDialog1.Execute;
if (OpenPictureDialog1.Filename<>´´) then
begin
DbImage1.Picture.LoadFromFile(OpenPictureDialog1.Filename);
end;
Flaviobrazuca
Curtidas 0
Respostas
Flaviobrazuca
05/06/2006
Pessoal... me disseram hj que preciso fechar esse opendialog... como faço isso?
GOSTEI 0
Massuda
05/06/2006
Bem, aqui começa o problema, pq depois que eu abro o openpicturedialog pela primeira vez quando eu clico no dbgrid pra selecionar outro cliente dá o seguinte erro:
O que você está gravando no banco de dados, o arquivo da foto ou o caminho+nome do arquivo da foto?A mensagem de erro diz que não conseguiu encontrar o arquivo minhafot.jpg.
GOSTEI 0
Flaviobrazuca
05/06/2006
É pq é assim... vou clicando no dbgrid e passando os clientes... os que não possuem foto eu dou 2 clicks no dbimage e é executado essa função:
Aí o caminho da foto é grvado no bd e ela é exibida normalmente no dbimage.... porém eu vou e continuo passando os clientes para achar outro sem foto e quando eu clico nos q já tem foto aparece essa tela com erro:
´EFOpenError with message Cannot Open File minhafot.jpg´
Me disseram q é pq o opendialog foi aberto e ainda está em execução.... Será?
OpenPictureDialog1.Execute;
if (OpenPictureDialog1.Filename<>´´) then
begin
DbImage1.Picture.LoadFromFile(OpenPictureDialog1.Filename);
ibqery1.sql("grava o caminho da minha foto aí....");
...
...
end;Aí o caminho da foto é grvado no bd e ela é exibida normalmente no dbimage.... porém eu vou e continuo passando os clientes para achar outro sem foto e quando eu clico nos q já tem foto aparece essa tela com erro:
´EFOpenError with message Cannot Open File minhafot.jpg´
Me disseram q é pq o opendialog foi aberto e ainda está em execução.... Será?
GOSTEI 0
Massuda
05/06/2006
Parece que você está gravando o caminho para o arquivo da foto... você já verificou se o arquivo está no caminho armazenado na tabela do BD?
Outra coisa, o código que você postou deveria ser...O OpenPictureDialog1.Execute retorna True se você clicar em Abrir ou der um duplo clique em um nome de arquivo.
Com relação ao OpenPictureDialog1 estar ´aberto e ainda está em execução´, isso não é correto.
Outra coisa, o código que você postou deveria ser...
if OpenPictureDialog1.Execute then begin
if OpenPictureDialog1.Filename <> ´´ then begin
DbImage1.Picture.LoadFromFile(OpenPictureDialog1.Filename);
...move o arquivo para uma pasta no servidor...
ibquery1.sql("grava o caminho da foto no servidor");
....
end;
end;Com relação ao OpenPictureDialog1 estar ´aberto e ainda está em execução´, isso não é correto.
GOSTEI 0
Flaviobrazuca
05/06/2006
Sim, o arquivo está no caminho correto... tanto que se eu fechar o sistema e abrir de novo a imagem que eu anteriormente havia selecionado no openpicturedialog está lá e é exibida normalmente...
O problema todo surge depois que eu abro o openpicturedialog e seleciono a imagem... mas vou testar isso q me falou e ver se dá certo...
O problema todo surge depois que eu abro o openpicturedialog e seleciono a imagem... mas vou testar isso q me falou e ver se dá certo...
GOSTEI 0
Flaviobrazuca
05/06/2006
É massuda... continua dando o mesmo erro...
GOSTEI 0