image nesnesi unknown picture hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

image nesnesi unknown picture hatası

Mesaj gönderen berken »

merhaba arkadaşlar. hepinize kolay gelsin.
image nesnesinin click eventine şöyle bir kod yazdım

Kod: Tümünü seç

procedure Tuyeler.Image1DblClick(Sender: TObject);
begin
O_Dialog1.Title:='Yüklenecek Resim Dosyası';
O_Dialog1.DefaultExt:='jpg';
O_Dialog1.Filter:='Resim Dosyaları(*.bmp)(*.jpeg)(*.jpg)(*.ico)|*.bmp;*.jpeg;*.jpg;*.ico|Tüm Dosyalar(*.*)|*.*';
O_Dialog1.Execute;


try
Image1.Picture.LoadFromFile(O_Dialog1.FileName);
except

Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'p\bos.bmp');
end;

//ShowMessage((ExtractFilePath(ParamStr(0))+'photos\'+ExtractFileName(O_Dialog1.FileName)));

end;
ancak opendialog acıldığında ve herhangi bir resmi secmeyip iptal tuşuna bastığımda su hatayı veriyor.. Unknown Picture File extention (.)
bunun sebebini anlayamadım..aslında hata olması durumunda try except i de kullandım ama yine de Image1.Picture.LoadFromFile(O_Dialog1.FileName); satırında bu hatayı veriyor..
saygılarmla
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Kod: Tümünü seç

if O_Dialog1.Execute then
  Image1.Picture.LoadFromFile(O_Dialog1.FileName)
else
  Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'p\bos.bmp');
olarak kullanırsan Cancel yaptığında else'den sonraki kod işletilir. OK yaptığında ilk kod.
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

teşekkur ederim.. ama sorun tam olarak cözülmedi. cunku Cancel yapınca else kısmındaki kod işlemiyor ve null dönüyor. sorun değil.. foto secmeyince image ye de gelmesin..
saygılarımla
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

İptal'e basınca muhakkak ki else kodu çalışacaktır. Parametre ile gönderdiğin resim dosyası yolu hatalı olabilir.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Cancel yapınca neden yüklemeye çalıştığını anlayamadım :?:
Ayrıca Uses'a *.JPG desteği için Jpeg unit ini eklemen lazım :idea:

Kod: Tümünü seç

  if O_Dialog1.Execute then
    Image1.Picture.LoadFromFile(O_Dialog1.FileName)
  else
    Image1.Picture := nil;
else ve sonrasını istersen yazmayabilirsin.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Sanırım iptal yapıldığında Image içini önceden belirlediği bir resim ile dolduracak.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

coderlord yazdı:Sanırım iptal yapıldığında Image içini önceden belirlediği bir resim ile dolduracak.
Doğru, olabilir. Fakat hata mesajının sebebi dediğim gibi Jpeg unitinin eklenmemesi :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla