Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ComPort komponenti problemi.
#1
Herkese merhaba.

D 12.1 CE kullanıyorum. Getit Package Manager'den daha önce ComPort Driver kurmuştum. Ancak bu komponent'e güncelleme gelmiş. Bende güncelledim. Ancak daha önce düzgün çalışan komponent porttan aldığı verileri Çince alfabesi şeklinde göstermeye başladı. Aynı programı D7 ile çalıştırdığımda sorunsuz ve doğru şekilde veri geliyor. 

Sonrasında D12.1 CE'den bu komponenti kaldırdım. Github'dan bir önceki versiyonu indirip yükledim. Ancak install edemedim. Bunun üzerine yine Getit Package Manager'den doğru çalışmayan versiyonu kurmak istedim ama olmadı aşağıdaki hataları verdi.
  
Loading EULAS...
Installing Library "TComPortDrv"...
Downloading Library "TComPortDrv"...
Extracting Library "TComPortDrv" to "C:\Users\hasan\OneDrive\Belgeler\Embarcadero\Studio\23.0\CatalogRepository\TComPortDrv-12\". This could take a while...
Adding environment path "Source\" for all platforms and personality "Delphi.Personality"...
Entry already exists on platform "Win32".
Entry already exists on platform "Android64".
Entry already exists on platform "Android".
Compiling project "ComPortDrv.dproj"...
Compiling project "ComPortDrvD.dproj"...
Installing package "ComPortDrvD290.bpl"...
Cannot load package 'ComPortDrv290.'  It contains unit 'CPDrv', which is also contained in package 'ComPortDrv'
Error when executing an action of "TComPortDrv" catalog. The action is "InstallPackage" (ID 7).
A problem occurred during the process.

Şu an 2 problemim var. 
  1. Bu komponenti install edemiyorum.
  2. Çince yazılar neden geliyor ?

Yardımınız için teşekkür ederim.
Cevapla
#2
Component kurulumu sırasında aldığınız hata; Library path'te iki farklı dizinde aynı dosyalar (unitler) olduğunu, eski-yeni component sürüm uyuşmazlığı olduğunu söylüyor.
1- Library path'te yer alan eski path'i silin veya dosya sisteminden klasörün adını değiştirin.
2- Component / Install Packages ekranında; daha önce kurulu ComPort paketi var mı bakın varsa kaldırın.
3- IDE yi kapatın.
4- Delphi BPL ve DCP path' lerine bakın; önceden kalan ComPort paket dosyaları varsa silin.
5- Sonrasında yeni paketi kurun.
Begin : = end / 2;
Cevapla
#3
Çince yazı tarafına odaklanarak gelen içeriğin Encoding konusunda sekteye uğradığı anlıyorum.

Yerinizde olsaydım şöyle yapardım. 
Delphi 7 projesinde ve D12 projelerinde ayrı ayrı gelen Byte veriyi hex olarak loglayın, her iki projede de aynı veri olup olmadığını anlamaya çalışın. Eğer aynısını görüyorsanız bu iyi haber sadece Encoding hatasıdır. BYTE dizisini alıp ANSI veya UTF8 gibi farklı kodlama dizilimiyle okuyup String ifadeye dönüştürmek mümkün demektir.

Eğer veri farklıysa o zaman port ayarları eş güdümlü değil diyebilirim.

Adım adım çözülebilecek bir sorun.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#4
Düzelttim çok şükür. "CommPortDriver1ReceiveData" procedure içindeki pChar ve Char tiplerini pAnsiChar ve AnsiChar yapınca düzeldi.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Nesnelerde değişiklik yapıldığında erişim problemi nehirnnn 2 614 14-08-2024, Saat: 11:19
Son Yorum: shooterman
  DLL içerisinde FireDac Problemi tecnomaster 1 792 16-03-2024, Saat: 18:05
Son Yorum: delphi.developer
  türkçe karakter problemi delphiX14 4 1.429 27-12-2023, Saat: 10:03
Son Yorum: delphiX14
  Indy Problemi m_ekici 5 2.063 24-10-2023, Saat: 23:15
Son Yorum: m_ekici
  FireDac MS-SQL Türkçe karakter problemi mpirpanlar 3 1.889 26-07-2023, Saat: 12:30
Son Yorum: delphiman



Konuyu Okuyanlar: 1 Ziyaretçi