Freeman35 Posted September 8, 2016 Share Posted September 8, 2016 Merhaba, Forma bir "TUniImage" Picture Property sine designtime bir jpg resim ekliyorum, Hiç bir hata vs yok resim gösteriliyor. ancak, ObjectInspector da Picture karşısında "(TdxSmartImage)" yazıyor. uygulmaya çalıştırdığımda ise hata veriyor ve form açmıyor. sistemimde devex yüklü.TdxSmartImage devexpress e ait bir class ve neden ekleniyor anlmadım, bu benim tercihim değil, zaten seçememde , Property editor den sadece jpg resmi seçiyorum. Designtime da picture ı clear edip, runtimeda "IMG_.Picture.LoadFromFile(Bunu);" şeklinde resmi göstermek istediğimde ise hiçbir şey olmuyor, yani resim basılmıyor, hata yok, log dosyasındada herhangi bir kayıt yok. debug ettiğimde, kod çalışıyor ve "Bunu" adlı değişkende doğru değer var. Teşekkürler. Quote Link to comment Share on other sites More sharing options...
mehmet07 Posted September 8, 2016 Share Posted September 8, 2016 Merhaba Freeman35 bu sorun bende de mevcut. Devexpressla alakali bir sıkıntı. Devexpress sitesinde bununla alakali bir yama kod vardi diye hatirliyorum. Ama ben okadar ugrasmama ragmen cozememistim. En sonunda devexpress olmayan bir pc ye kurdum herseyi. Quote Link to comment Share on other sites More sharing options...
Freeman35 Posted September 8, 2016 Author Share Posted September 8, 2016 Mehmet bey cevabınız için teşekkür ederim. Verdiğiniz bilgi üzerine "dxGDIPlusClasses.pas" içerisinden jpg ve jpeg redister işlemleri remarkladım ve build ettim. devex te ne sıkıntı çıkacak bakmadım orası ayrı şimdilik unigui için designtime dan ekleyip formun açılmaması işi çözülmüş oldu. Ama benim için esas önemli olan konu ise runtime da resimlerin basılmaması. Baistçe şöyle bir proje. grid üzerinde hareket edildikçe, gridin OnSelectionChange Eventinde db deki koda göre uniimage içerisine resim yüklenecek. Eğer resim yoksa ve önceki kayıttan kalmış resim varsa silinecek. Kod örneği şöyle: if(Trim(Bunu)='')and (IMG_.Picture.Bitmap<>nil)then begin IMG_.Picture.Bitmap := nil; IMG_.Picture.Bitmap.FreeImage; //silmek için deneme end else IMG_.Picture.LoadFromFile(Bunu); Debug ettiğimde kod çalışıyor, ama designetime da bir resim eklemişsem o resim silmesi gerekse dahi silinmiyor. ve resim yüklenmiyor. Yüklenmiyordan kastım değiş miyor. herhangi bir hatada yok. Yüklenecek resim path i farklı yerde, yani ex nin olduğu yada alt klasörlerinde değil. Konu hakkında fikri olan var mı? teşekkürler. Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted September 8, 2016 Administrators Share Posted September 8, 2016 Silmek için: IMG_.Picture.Assign(nil); Quote Link to comment Share on other sites More sharing options...
Freeman35 Posted September 8, 2016 Author Share Posted September 8, 2016 Silmek için: IMG_.Picture.Assign(nil); Malesef çalışmıyor. ne siliniyor nede bir resim load ediliyor. Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted September 8, 2016 Administrators Share Posted September 8, 2016 O kod o şekilde çalışır. İsterseniz boş bir projede deneyebilirsiniz. Tabi sizin uygulamanın tamamını görmeden sorunun kaynağı hakkında yorum yapamam. Quote Link to comment Share on other sites More sharing options...
Freeman35 Posted September 8, 2016 Author Share Posted September 8, 2016 Evet Haklısın. Hem boş bir uygulamada, hemde arkadaşımın gönderdiği örnek projeye ekledim, sorun bende çıktı. Kendi formumu, forumdan bulduğum "desktop3" uygulamasını kullanarak yapmıştım. sanırım oradan kaynaklı bir sorun. Boş formda test ettiğim ve çalışan kod: procedure TMainForm.yukle(Bunu: string); begin if (Trim(Bunu) = '') and (IMG_1.Picture.Bitmap <> nil) then IMG_1.Picture.Bitmap := nil else IMG_1.Picture.LoadFromFile(Bunu); end; Teşekkürler. Quote Link to comment Share on other sites More sharing options...
Freeman35 Posted September 9, 2016 Author Share Posted September 9, 2016 Malesef bu konuyu çözebilmiş değilim. Sorun TUniImage de değilmiş. forma button lar eklediğimde TUniImage çalışıyor. Denemeler yapıyorum dolayısıyla bir uygulama değil yaptığım. Yapmaya çalıştığım ekranda bir grid var ve gridin row u değiştikçe ilgili kayda ait resim varsa TUniImage e yüklmek procedure TFRM_Stok_List.GRD_1SelectionChange(Sender: TObject); var st_KODU, Bunu: string; begin st_KODU:= DM.Q_Stok_List.FieldByName('KODU').AsString; Bunu:= ''; if FileExists(MyConcatPaths(PIC_Path, st_KODU +'.jpg'))then begin Bunu := MyConcatPaths(PIC_Path, st_KODU +'.jpg') end else begin if FileExists(MyConcatPaths(PIC_Path, st_KODU +'.bmp'))then Bunu := MyConcatPaths(PIC_Path, st_KODU +'.bmp'); end; LBL_.Caption:= Bunu; // path in değiştiğini kotrol etmek için. ve çalışıyor, yani değişiyor if(Trim(Bunu)='')and (IMG_.Picture.Bitmap<>nil)then begin IMG_.Picture.Assign(nil) end else IMG_.Picture.LoadFromFile(Bunu); end; Label içeriği doğru çalışıyor, yani Bunu adlı değişken içeriği doğru olarak çalışıyor. ama İmage güncellemiyor kendisini. Forma bir button ekledim, yukarıdaki kodun basmadığı resmi button click e eklediğim aşağıdaki kod ile basıyor. Buradaki sıkıntı nedir ? procedure TFRM_Stok_List.BTN_Click(Sender: TObject); var Bunu : string; begin Bunu:= MyConcatPaths(PIC_Path, DM.Q_Stok_List.FieldByName('KODU').AsString+'.jpg'); if(Trim(Bunu)='')and (IMG_.Picture.Bitmap<>nil)then begin IMG_.Picture.Assign(nil) end else IMG_.Picture.LoadFromFile(Bunu); end; Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted September 9, 2016 Administrators Share Posted September 9, 2016 Ufak bir deneme projesi yapıp yollar mısınız? Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted May 8, 2020 Administrators Share Posted May 8, 2020 https://supportcenter.devexpress.com/ticket/details/s34199/rad-studio-2009-and-later-make-tdxpngimage-class-registration-optional-for-loading-png Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.