Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
char AnsiChar hatası
#1
Merhaba,


Biraz karışık durumla karşı karşıyayım bir unit oluşturdum.


bu unitte
Type
 char = AnsiChar;
var. 

Main forumdaki tedit için Char için hata alıyorum bu sorunu nasıl çözerim?

procedure TMainForm.EditSearchKeyPress(Sender: TObject; var Key: Char);
begin
  Listele(Sender);
end;

[dcc32 Error] Main.pas(2713): E2066 Missing operator or semicolon
[dcc32 Error] Main.pas(2713): E2008 Incompatible types
[dcc32 Fatal Error] Main.pas(2713): E2226 Compilation terminated; too many errors
Failed
Cevapla
#2
Kullandığınız Delphi versiyonunu belirtmemişsiniz ama genel olarak aynı isimde farklı unit'lerden tipler kullanılmak istendiğinde UnitIsmi.TipIsmi şeklinde kullanılabilir.
Sizin örnekte EditSearchKeyPress'teki Char yerine System.Char yazarak kullanabilirsiniz(Hem interface bölümünde hem de implementation bölümünde bunu yapmalısınız)

Not: Aslında aldığınız ilk hata (E2066) bununla ilgili gibi gözükmüyor. Öncelikle o sorun halledilmeli gibi...
There's no place like 127.0.0.1
WWW
Cevapla
#3
Smile Teşekkür ederim.
Cevapla
#4
@SimaWB hocamın paylaşımına ilaveten type declerasyonu yaptığınız bir unit te oluşturuabilirsiniz
Böylece projde kullanılan tüm unitler bir yerde olmuş olur ve bazı yazım problemlerinin önünede geçmiş olabilirsiniz
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#5
(19-08-2019, Saat: 11:45)adelphiforumz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.@SimaWB  hocamın paylaşımına ilaveten type declerasyonu yaptığınız bir unit te oluşturuabilirsiniz
Böylece projde kullanılan tüm unitler bir yerde olmuş olur ve bazı yazım problemlerinin önünede geçmiş olabilirsiniz

Anladım, teşekkür ederim.
Cevapla
#6
Esas soruyu kimse sormamış. Neden Delphi'nin yerleşik veri türünü (Char) yeni bir tip tanımı yaparak ezmeye çalışıyorsunuz ?
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#7
(20-08-2019, Saat: 08:43)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Esas soruyu kimse sormamış. Neden Delphi'nin yerleşik veri türünü (Char) yeni bir tip tanımı yaparak ezmeye çalışıyorsunuz ?

Type
char = AnsiChar;

Tugrul hocam haklı char tipini ansichar ile yok etmek üzeresiniz Smile)
Cevapla
#8
(20-08-2019, Saat: 08:43)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Esas soruyu kimse sormamış. Neden Delphi'nin yerleşik veri türünü (Char) yeni bir tip tanımı yaparak ezmeye çalışıyorsunuz ?

Sanırsam isim olarak "char" koymak istenmiş. Char veri türü olduğunu hesap edilmemiş diye tahmin ediyorum.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#9
Delphi'nin eski versiyonlarında (2009 öncesi) yazılan bazı kütüphaneleri yeni versiyonlarda kullanmak için bu tarz bir dönüşüm ile günü kurtarabiliyoruz. (Tabii ki asıl yapılması gereken ilgili kaynağı unicode'a uygun hale getirmek)
There's no place like 127.0.0.1
WWW
Cevapla
#10
Esasen Delphi geliştiricileri (Embarcadero) olayın sorun haline gelmesine yol açtı. Eski versiyonlarda Char = AnsiChar iken yeni versiyonlarda (Sanırım XE7'den itibaren) Char = WideChar ve String = WideString (ya da = UnicodeString) oldu. Tabii bu da pek çok kütüphanenin elden geçirilmesini gerektirdi. Eğer 2009 ya da 2010 versiyonunda bunu yapsalardı bu problemler çok daha az yaşanacaktı.
Kerembacioglu'nun sorusuna gelince, aldığı hatayı bir event'in parametrelerinden birini farklı bir tiple tanımlamaya kalkması nedeniyle alıyor. Tuğrul Helvacı'nın sorusu çok yerinde. Standart bir tipi niçin değiştiriyorsunuz?
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Thumbs Up Json Parse AV Hatası yhackup 0 80 02-09-2019, Saat: 13:27
Son Yorum: yhackup
  ADO Kayit hatası serdar 4 220 25-08-2019, Saat: 11:16
Son Yorum: serdar
  Excel'den veri çekme hatası harezmi 7 351 17-07-2019, Saat: 18:40
Son Yorum: harezmi
  Object was open Hatası Emrah Karagöz 7 426 05-07-2019, Saat: 08:43
Son Yorum: Tuğrul HELVACI
  Component kurma hatası arsl01 0 226 01-07-2019, Saat: 09:34
Son Yorum: arsl01



Konuyu Okuyanlar: 1 Ziyaretçi