Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Proje birleştirme
#11
(04-07-2017, Saat: 17:31)Dostk Adlı Kullanıcıdan Alıntı: Konu güncel arkadaşalar. Bu konuda bilgisi olan kimse yok mu? delphican da.

Paylaştığınız kod ZXing'in VCL için örnek kodu.
https://github.com/Spelt/ZXing.Delphi/bl...inForm.pas

Ben bu projeyi Delphi 10.2 ile açıp derledim. Her hangi bir sorunla karşılaşmadım.
There's no place like 127.0.0.1
WWW
Cevapla
#12
SimaWB ve sizin dediğinizi aynen yaptım.




nzl72tlx.jpg  y7scut8m.jpg

(04-07-2017, Saat: 18:27)SimaWB Adlı Kullanıcıdan Alıntı:
(04-07-2017, Saat: 17:31)Dostk Adlı Kullanıcıdan Alıntı: Konu güncel arkadaşalar. Bu konuda bilgisi olan kimse yok mu? delphican da.

Paylaştığınız kod ZXing'in VCL için örnek kodu.
https://github.com/Spelt/ZXing.Delphi/bl...inForm.pas

Ben bu projeyi Delphi 10.2 ile açıp derledim. Her hangi bir sorunla karşılaşmadım.



Sorun derlemede değil, projeyi kendi projeme entegre etiğimde hata alıyorum.

 Yapmış olduğum proje ile, ZXing.Delphi-3.4.2 barkod sitemini projeme entegre etmeye çalışıyorum, ReadResult := ScanManager.Scan(Bmp);  de
[dcc32 Error] Main.pas(2025): E2010 Incompatible types: 'FMX.Graphics.TBitmap' and 'Vcl.Graphics.TBitmap' hatayı nasıl çözebilirim?
Hayat bazen güzel olabiliyor.
Cevapla
#13
Selam,
Büyük ihtimalle Uses kısmından kaynaklı bir hata alıyorsunuz, örnek projedeki tüm Uses kodlarını projenize ekleyip o şekilde deneyin.
WWW
Cevapla
#14
(04-07-2017, Saat: 18:46)esistem Adlı Kullanıcıdan Alıntı: Selam,
Büyük ihtimalle Uses kısmından kaynaklı bir hata alıyorsunuz, örnek projedeki tüm Uses kodlarını projenize ekleyip o şekilde deneyin.


Yok hocam inanın ususi onlarca kez kontrol ettim;
Vakit ayırıp bu Link ten indirip, yeni bir proje oluşturup ve o projeye entegre edebilin olursa, buradan nasıl yapıldığını paylaşırsa tüm yapmış olduğu yorumlara + puan vereceğim Big Grin
Hayat bazen güzel olabiliyor.
Cevapla
#15
Merhaba,

Aslında arkadaşlar cevap yazmış, ama pek detaylı yazmadıkları için sorunu çözememişsiniz.

Embarcadero, firemonkey kütühanesini geliştirirken, VCL'in getirdiği bağımlılıklardan kurtulmak istiyordu, ama aynı zamanda şimdiye kadar yazılmış Delphi kodlarını da çöpe atmak istemiyordu. O yüzden de kaynak kodları grupladılar. Örneğin veri tabanı ile ilgili her türlü unit Data ile başlıyor. Örneğin ADO için Data.AdoDB, FmtBcd için Data.FmtBcd gibi. Benzer şekilde System, Winapi, Xml, Soap vs gibi ön isimlendirmeler var. Bütün bu ön isimlendirmeler arasında çok keskin ayırım olan iki ön isimlendirme var: 

1. VCL
2. FMX

VCL, bildiğiz eski Delphi kütüphaneleri anlamına geliyor. Yani sadece Windows'da çalışır, hızlıdır, kalitelidir, güzeldir vs vs. Delphi'yi bu kadar pratik yapan kütüphane de budur. FMX ise birden fazla platform destekleyen yeni kütüphanedir. Bence daha emekleme aşamasında, ama yine de iş yapılabilir seviyede. 

Artık Delphi'de yeni bir proje açacağınız zaman bu ikisi arasında bir tercih yapmanız gerekiyor. Eğer VCL Forms Application seçerseniz VCL kütüphanesini kullanabiliyorsunuz ve proje sadece 32/64 bit Windows çalıştırılabilir dosyası olarak derleniyor. Ama Multi Device Application seçerseniz FMX kütüphanesini kullanıyorsunuz ve projeyi Windows, MacOS, IOS, Android ve Linux (sadece sunucu uygulamaları) ortamlarında çalışacak şekilde derleyebiliyorunuz.

Maalesef bu iki kütüphane uyumlu değil. Embarcadero resmi olarak bu iki kütüphaneyi aynı projede kullanmaya destek vermiyor (FMX bileşenlerini VCL içinde açan panel bileşenleri falan var ama resmi olarak destek olmadığı için ben hiç yanaşmadım o bileşenlere).

Sizin sorununuz da burada başlıyor. Büyük ihtimalle kendi projenizi "Multi Device Application" olarak açmışsınız (Firemonkey projesi yani), ama kullanmak istediğiniz kütüphane VCL istiyor. Sizin projenizdeki bütün görsel bileşenler FMX ile başlıyordur, örneğin FMX.Forms, FMX.Controls vs. Benzer şekilde FMX.Graphics vardır. Sizin kullanmak istediğiniz kütüphane VCL ile çalışıyor, o yüzden de bu hataları alıyorsunuz. VCL.Graphics.TBitmap ile FMX.Graphics.TBitmap birbiri ile uyumlu değil. VCL ile FMX'i bir projede bir arada kullanmak da iyi bir fikir değil.

Sizin yapabileceğiniz bir iki şey var:
- İstediğiniz işi yapacak, FMX destekleyen bir bileşen bulmak
- Projenizi FMX'den VCL'e taşımak
- Bu işlemi DLL gibi bir projede yapmak ve projenin bu kısmını sadece Windows platformlarında çalıştırmak (diğer platformlarda bu özellik kapalı olacak)

Umarım bu sefer açıklayıcı olmuştur.

İyi çalışmalar
Cevapla
#16
Selam, tek kelimeyle mükemmel bir anlatım olmuş elinize dilinize sağlık, fakat ben projemi VCL'de yaptım, kafayı yemek üzereyim bu işi nasıl çözeceğim onu da bilinmiyorum takıldım kaldım.
Hayat bazen güzel olabiliyor.
Cevapla
#17

  1. Yeni bir VCL projesi oluşturdum
  2. Form üzerine bir button yerleştirdim
  3. Bir TImage yerleştirdim ve adını image yaptım
  4. Bir TMemo yerleştirdim ve adını log yaptım
  5. Bit TOpenDialog yerleştirdim ve adını OpenDlg yaptım
  6. uses kısmına şu unitleri ekledim: 
         vcl.imaging.pngImage,
         vcl.imaging.jpeg,
         ZXing.ReadResult,
         ZXing.BarCodeFormat,
         ZXing.ScanManager
  7. Project Options -> Delphi Compiler -> Conditional defines'a USE_VCL_BITMAP ekledim
  8. Project Options -> Delphi Compiler ->Search path'e şu klasörleri ekledim:
         C:\ZXing.Delphi-v_3.0\Lib\Classes
         C:\ZXing.Delphi-v_3.0\Lib\Classes\Common
         C:\ZXing.Delphi-v_3.0\Lib\Classes\Common\Detector
         C:\ZXing.Delphi-v_3.0\Lib\Classes\Common\ReedSolomon
         C:\ZXing.Delphi-v_3.0\Lib\Classes\Filtering
         C:\ZXing.Delphi-v_3.0\Lib\Classes\1D Barcodes
         C:\ZXing.Delphi-v_3.0\Lib\Classes\2D Barcodes
         C:\ZXing.Delphi-v_3.0\Lib\Classes\2D Barcodes\Decoder
         C:\ZXing.Delphi-v_3.0\Lib\Classes\1D Barcodes\Detector
  9. Butonun OnClick olayına örnek kodları kopyalayıp yapıştırdım
ve PROJEM sorunsuz derlendi.

Aslında gerek yok ama kaynak kodlara bakmak isterseniz burada
There's no place like 127.0.0.1
WWW
Cevapla
#18
Elinize yüreğinize sağlık, yeni bir proje oluşturdum ve vermiş olduğu örnekten yola çıkarak işlemi tamamladım ve sorunsuz çalıştı.
Ama var olan projeme uyguladığımda ise durum değişmedi hata vermeye devam etti, acaba başka bir kod (ReadResult := ScanManager.Scan(Bmp); ) satırında hatamı verdiriyor?

Hata kodu
[dcc32 Error] Main.pas(2046): E2010 Incompatible types: 'FMX.Graphics.TBitmap' and 'Vcl.Graphics.TBitmap'
[dcc32 Warning] Main.pas(2136): W1000 Symbol 'ThemeServices' is deprecated: 'Use StyleServices'
[dcc32 Warning] Main.pas(2136): W1000 Symbol 'ThemesEnabled' is deprecated: 'Use TCustomStyleServices.Enabled'
[dcc32 Warning] Main.pas(2138): W1000 Symbol 'ThemeServices' is deprecated: 'Use StyleServices'
[dcc32 Warning] Main.pas(2139): W1000 Symbol 'ThemeServices' is deprecated: 'Use StyleServices'
[dcc32 Warning] Main.pas(2166): W1019 For loop control variable must be simple local variable
[dcc32 Warning] Main.pas(12): W1006 Unit 'Vcl.Outline' is deprecated
[dcc32 Fatal Error] F2063 Could not compile used unit 'Admins.pas'
Hayat bazen güzel olabiliyor.
Cevapla
#19
Yeni proje oluşturup USE_VCL_BITMAP'i eklemeden derlemeye çalıştığımda ben de aynı satırda aynı hatayı aldım.

Sadece sesli düşünüyorum: gönderdiğiniz resimde USE_VCL_BITMAP'i Win32 Debug mod için eklediğiniz görülüyor. Acaba Release modda derleme yapmaya mı çalışıyorsunuz?
There's no place like 127.0.0.1
WWW
Cevapla
#20
Aslında çok basit bir hata, uses kısmına Graphics eklerseniz sorun çözülür diyor ama inatla çalışmıyor sizdeki.
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Donanım bilgilerini almak için geliştirilmiş güzel bir proje burakb44 2 595 02-04-2024, Saat: 16:06
Son Yorum: burakb44
  Delphi ile Birden Fazla Pdf Dosyasını Birleştirme/Merge Hk. glagher 5 1.598 08-09-2023, Saat: 10:37
Son Yorum: glagher
  fastreport sayfa birleştirme erdogan 4 1.229 06-09-2023, Saat: 12:02
Son Yorum: erdogan
  Proje Versiyon Bilgisi cvheneburi 9 3.864 25-12-2022, Saat: 16:38
Son Yorum: Frrst
  pdf birleştirme bydelphi 4 1.169 24-09-2022, Saat: 11:39
Son Yorum: bydelphi



Konuyu Okuyanlar: 1 Ziyaretçi