Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Unsafe Type PChar uyarısı
#1
Selam,
Projelerimin bir çoğunda bu olay oluyor. aşağıdaki gibi bir kod kullanıyorum mesela, compiler ettiğimde sorunsuz çalışıyor fakat sürekli Unsafe Type PChar uyarısı alıyorum. Options->Compiler Messages ten kaldırınca sorun göstermiyor fakat önemli bir durummudur değilmidir merak ettim. Projeler yıllardır sorunsuz bu şekilde çalışıyor.

procedure TForm1.VeriAl(const Gelen: String);
VAR
 List: TStrings;
begin
List := TStringList.Create;
 try
   ExtractStrings(['*'], [], Pchar(Gelen), List);
..........................
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#2
XE2'de yazdığınız kod için herhangi bir uyarı vermiyor.
Cevapla
#3
(06-12-2016, Saat: 14:49)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSelam,
Projelerimin bir çoğunda bu olay oluyor. aşağıdaki gibi bir kod kullanıyorum mesela, compiler ettiğimde sorunsuz çalışıyor fakat sürekli Unsafe Type PChar uyarısı alıyorum. Options->Compiler Messages ten kaldırınca sorun göstermiyor fakat önemli bir durummudur değilmidir merak ettim. Projeler yıllardır sorunsuz bu şekilde çalışıyor.

procedure TForm1.VeriAl(const Gelen: String);
VAR
 List: TStrings;
begin
List := TStringList.Create;
 try
   ExtractStrings(['*'], [], Pchar(Gelen), List);
..........................

Merhaba,
Delphi 10.1 U2 Berlin sürümünde de sorun yok. Kod uyarı vermeden derleniyor. Hatta Project > Options > Hints and Warnings Unsafe codse, Unsafe type ve Unsafe typecast true/false durumunda bile uyarı vermiyor.
Yeni Delphi versiyonlarında ExtractStrings metodunun parametre tiplerinde de değişiklik var. Bu tiplerden de kaynaklanıyor olabilir.

29dxx95.jpg

Gelen değişkeninizi, PWideChar tipi ile cast ederek deneyin.

 ExtractStrings(['*'], [], PWideChar(Gelen), List);
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
#4
Delphi 7 de PAnsiChar olarak geçiyor hocam, Compiler Mesajlarından kaldırdım o şekilde devam edicez mecburen Smile
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Record type içerisindeki değişkenlerime for döngüsü ile erişme yhackup 2 166 24-10-2017, Saat: 16:23
Son Yorum: yhackup
  [Çözüldü]Çözemediğim veri tabanı hatası (Cannot access field as type Text) musdi42 15 975 19-01-2017, Saat: 14:07
Son Yorum: yhackup
  Uygulama derlenirken exe açık uyarısı hk yhackup 3 1.139 28-10-2016, Saat: 16:04
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi