İmage Slider ''No Such File Or Directory Hatası" - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Mobil Platform - FireMonkey (FMX) (https://www.delphican.com/forumdisplay.php?fid=7) +--- Konu Başlığı: İmage Slider ''No Such File Or Directory Hatası" (/showthread.php?tid=3360) |
İmage Slider ''No Such File Or Directory Hatası" - keceonurr - 23-02-2019 Herkese merhaba Fmx ile İmage slider kullanarak resimler ekletmeye çalıştım ama beklemediğim bir hatayla karşılaştım. Bir çok çözümler denedim resim klasörünü başka yerlere taşıdım yine de bir çözüme ulaşamadım. Kodum şu şekilde procedure Tfrm_anasayfa.AddBitmap(const FileName: string); var Bmp: TBitmap; p: string; begin Bmp := TBitmap.Create; try {$IFDEF ANDROID} p := TPath.Combine(System.IOUtils.TPath.GetDocumentsPath, FileName); {$ELSE} p := FileName; {$ENDIF} Bmp.LoadFromFile(p); FMXImageSlider1.Add((FMXImageSlider1.PageCount + 1).ToString, Bmp); finally Bmp.Free; end; end;resim dosya yolunu uzun halini de yazdım ama aynı hatayı alıyorum; procedure Tfrm_anasayfa.SpeedButton4Click(Sender: TObject); begin {$IFDEF ANDROID} AddBitmap('resim\black1.jpg'); AddBitmap('resim\daredevil2.jpg'); AddBitmap('resim\groot.jpg'); AddBitmap('resim\doctor.jpg'); AddBitmap('resim\ironman.jpg'); FMXImageSlider1.ActivePage := 0; {$ENDIF} end; Aldığım hata ise şu şekilde https://hizliresim.com/EmWWmn Bu konuda bana yol gösterecek arkadaşlara şimdiden teşekkür ediyorum. .Herkese iyi çalışmalar İmage Slider ''No Such File Or Directory Hatası" - mrmarman - 23-02-2019 Resim için eklediğiniz slash ile Path Delimiter ters olabilir mi ? System.SysUtils.PathDelim şeklinde tercih edin isterseniz. Cvp: İmage Slider ''No Such File Or Directory Hatası" - keceonurr - 23-02-2019 (23-02-2019, Saat: 13:47)mrmarman Adlı Kullanıcıdan Alıntı: Resim için eklediğiniz slash ile Path Delimiter ters olabilir mi ? Hocam bu şekilde yaptım p := TPath.Combine(System.SysUtils.PathDelim, FileName); bu seferde aldığım hata Cannot open file "/ images\black1.jpg". No such file or directory. İmage Slider ''No Such File Or Directory Hatası" - mrmarman - 23-02-2019 Dosya yolunu bir edit ile gösterip path ve dosya adını tek bir satırda görerek sorunu gözlemler misiniz. Open etmeye çalışmadan Edit üzerinde gördüğünüzü irdeleyin. sonra üretilem bu yola kendiniz giderek resim doğru yerde mi onu kontrol edin. resme ismi kendiniz vermişseniz sonunda başında boşluk kontrolü yapın İmage Slider ''No Such File Or Directory Hatası" - mrmarman - 23-02-2019 Size bir örnek ... Var p : String; begin p := TPath.Combine( System.IOUtils.TPath.GetDocumentsPath(), 'resimler' ); Memo1.Lines.Add( p ); Memo1.Lines.Add( '-----------------' ); p := TPath.Combine( System.IOUtils.TPath.GetSharedDocumentsPath(), 'resimler' ); Memo1.Lines.Add( p ); Memo1.Lines.Add( '-----------------' ); if NOT DirectoryExists( p ) then begin ForceDirectories( p ); ShowMessage( 'Yeni oluşturuldu' ); end; Memo1.Lines.Add( p ); Memo1.Lines.Add( '-----------------' ); p := TPath.Combine( p, 'ornek.jpg' ); Memo1.Lines.Add( p ); Memo1.Lines.Add( '-----------------' ); end; Ürün çıktısı GetDocumentsPath yerine GetSharedDocumentsPath arasındaki farka dikkatinizi çekerim.. Kod: /data/user/0/com.embarcadero.Project1/files/resimler Belki amacınızı yanlış anlamış olabilirim gerekçesiyle eklemek istedim. - Amacınız kendi eklediğiniz resimlerin kullanıcı tarafından görünmesi / erişilmesinin önüne geçerek sadece projeniz içerisinden ulaşılmasını sağlamak ise : ( mobil cihazın ROOT edilmediğini varsayarak yazıyorum yoksa bu da aşılır )
Kod: .\assets\internal\resimler\ resimler kısmı size özel bir klasör adıdır. Var p : String; begin p := TPath.Combine( System.IOUtils.TPath.GetDocumentsPath(), 'resimler' ); p := TPath.Combine( p, 'resim.jpg' );şeklinde bir tanımlama yaparsanız Kod: /data/user/0/com.embarcadero.Project1/files/resimler klasörünü işaret etmiş olursunuz. ( project1 sizin projenin adı olacak ) Cvp: İmage Slider ''No Such File Or Directory Hatası" - keceonurr - 23-02-2019 (23-02-2019, Saat: 16:57)mrmarman Adlı Kullanıcıdan Alıntı: Size bir örnek ... Hocam ellerinize sağlık çok çok teşekkür ediyorum. Sayenizde bir bilgi daha edindim. |