Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Proje birleştirme
#1
Merhaba;

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?

procedure TForm2.Button1Click(Sender: TObject);
var
  ReadResult: TReadResult;
  ScanManager: TScanManager;
  Bmp: Vcl.Graphics.TBitmap; // just to be sure we are really using VCL bitmaps
begin
  if not OpenDialog.Execute then
    Exit;
  image.Picture.LoadFromFile(OpenDialog.FileName);
  ReadResult := Nil;
  ScanManager := Nil;
  Bmp := Nil;
  try
    Bmp := TBitmap.Create;
    Bmp.Assign(image.Picture.Graphic);
    ScanManager := TScanManager.Create(TBarcodeFormat.Auto, Nil);
    ReadResult := ScanManager.Scan(Bmp);
    if ReadResult <> Nil then
      log.Lines.Text := ReadResult.Text
    else
      log.Lines.Text := 'Unreadable!';
  finally
    ScanManager.Free;
    ReadResult.Free;
  end;
end;
Hayat bazen güzel olabiliyor.
Cevapla
#2
Merhaba,
Hata; variable bölümünde tanımlamış olduğunuz Bmp değişkeninin, tip tanımlamasından kaynaklanıyor.
  Bmp: Vcl.Graphics.TBitmap; // just to be sure we are really using VCL bitmaps

Yazdığınız proje tipi VCL ise Bmp tipini doğrudan Vcl.Graphics.TBitmap şeklinde kullanabilirsiniz. FMX projesi ise FMX.Graphics.TBitmap şeklinde kullanmalısınız.
En doğru kullanımı ise;  Bmp: TBitmap;'tır. 
Çünkü Compiler, derleme anında projenin tipini biliyor ve Tip (Type) hangi Unit Scope'una ait ise oradaki metodları ve tipleri otomatik olarak kullanıyor.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
(03-07-2017, Saat: 08:35)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,
Hata; variable bölümünde tanımlamış olduğunuz Bmp değişkeninin, tip tanımlamasından kaynaklanıyor.
  Bmp: Vcl.Graphics.TBitmap; // just to be sure we are really using VCL bitmaps

Yazdığınız proje tipi VCL ise Bmp tipini doğrudan Vcl.Graphics.TBitmap şeklinde kullanabilirsiniz. FMX projesi ise FMX.Graphics.TBitmap şeklinde kullanmalısınız.
En doğru kullanımı ise;  Bmp: TBitmap;'tır. 
Çünkü Compiler, derleme anında projenin tipini biliyor ve Tip (Type) hangi Unit Scope'una ait ise oradaki metodları ve tipleri otomatik olarak kullanıyor.


Bmp: TBitmap; denemiştim, sorun devam etmekte

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Hayat bazen güzel olabiliyor.
Cevapla
#4
Project > Options > Delphi Compiler sekmesinde, Unit scope names alanındaki butona tıklayın.
Açılan pencerede,  Edit alanına Vcl.Graphics (FMX için FMX.Graphics) yazın ve Add butonuna tıklayın.
Daha sonra projenizi derleyin.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#5
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol yazan açıklamaya göre USE_VCL_BITMAP adında başlangıç koşulu tanımlamanız gerekiyor. Bunu yapmamış olabilir misiniz?
There's no place like 127.0.0.1
WWW
Cevapla
#6
(03-07-2017, Saat: 14:30)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlLinkleri Görebilmeniz İçin Giriş yap veya Üye Ol yazan açıklamaya göre USE_VCL_BITMAP adında başlangıç koşulu tanımlamanız gerekiyor. Bunu yapmamış olabilir misiniz?


Artık kafam alma oldu, USE_VCL_BITMAP nereye tanımlayacağım anlamadım. Blush
Hayat bazen güzel olabiliyor.
Cevapla
#7
Project > Options > Delphi Compiler içerisinde Conditional Defines

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
There's no place like 127.0.0.1
WWW
Cevapla
#8
(03-07-2017, Saat: 15:54)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlProject > Options > Delphi Compiler içerisinde Conditional Defines

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol)


Değişen bir şey olmadı.


Benim projem
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol



ZXing.Delphi-3.4.2 örnek proje
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Hayat bazen güzel olabiliyor.
Cevapla
#9
Konu güncel arkadaşalar. Bu konuda bilgisi olan kimse yok mu? delphican da.
Hayat bazen güzel olabiliyor.
Cevapla
#10
(04-07-2017, Saat: 17:31)Dostk Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlKonu güncel arkadaşalar. Bu konuda bilgisi olan kimse yok mu? delphican da.

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol vermiş olduğum çözüm önerisini test etmeniz galiba?  Huh 
Sorun VCL mi FMX mi kullandığınızın derleyiciye bildirilmesidir.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  CxGrid Kolon Birleştirme narkotik 17 585 09-03-2018, Saat: 08:05
Son Yorum: narkotik
Shocked İki farklı projeyi tek projede birleştirme? Matesh 4 264 08-03-2018, Saat: 17:03
Son Yorum: ismailkocacan
  Proje Delphi Upgrade hatası iLLeGaLL 6 2.118 29-10-2016, Saat: 10:20
Son Yorum: engerex



Konuyu Okuyanlar: 1 Ziyaretçi