Forum Kurallarımız güncellenmiştir. DelphiCan Forum Kuralları (March 04) x

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Listview argument out of range hatası
#1
Merhaba,

Android de ürünlerin veya müşterilerin listeleneceği ekran yapmak istiyorum Rehber gibi arama olacak. Listview e item.add le eklemeleri yapıyorum. Ürün veya Müşteri veya ürün sayısı çok olduğu için hepsini eklemiyorum onun için searchbox kullanamıyorum. Arama kısımı kendim yaptığım içinde her aramadan sonra ListView.Items.Clear ile boşaltıp tekrar yeni değerleri dolduruyorum 3-4 arama sonra argument out of range hatası veriyor. 

Bu gibi rehberlik durumları nasıl çözdünüz. listview değilde başka bişey mi kullanmam gerekiyor.

Not : Müşteri Satısı 1950 Ürün Sayısı 13544
Cevapla
#2
Merhaba,
LisrView üzerindeki arama kutucuğu, var olan kayıtlar arasında arama yapıyor. Dolayısıyla sizin tercih ettiğiniz yöntem daha doğrudur.
Yani arama işleminden sonra yeni bir liste oluşturulmalı ve arayüze bu yeni kayıt listesi yansıtılmalıdır.
Hataya sebep olan durum; clear işleminden sonra ListView item'a erişme isteğinizdir. 
Kod satırlarını yeniden gözden geçirmenizde fayda var. 
ListView üzerinde kayıtları göstermeden önce BeginUpdate, işleminiz bittikten sonra da EndUpdate kullandınız mı?
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-10-2019, Saat: 12:24)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba,
LisrView üzerindeki arama kutucuğu, var olan kayıtlar arasında arama yapıyor. Dolayısıyla sizin tercih ettiğiniz yöntem daha doğrudur.
Yani arama işleminden sonra yeni bir liste oluşturulmalı ve arayüze bu yeni kayıt listesi yansıtılmalıdır.
Hataya sebep olan durum; clear işleminden sonra ListView item'a erişme isteğinizdir. 
Kod satırlarını yeniden gözden geçirmenizde fayda var. 
ListView üzerinde kayıtları göstermeden önce BeginUpdate, işleminiz bittikten sonra da EndUpdate kullandınız mı?

 ListView1.Items.Clear;
 ListView1.BeginUpdate;
 while not Query.Eof do
   begin
     LItem := ListView1.Items.Add;
     LItem.Data['Text1'] := Query.FieldByName('CARI_KOD').AsString;
     LItem.Data['Text2'] := Query.FieldByName('CARI_ISIM').AsString;
     LItem.Data['Text3'] := Query.FieldByName('CARI_ADRES').AsString;
     Query.Next;
   end;
 ListView1.EndUpdate;

Evet Kullandım.
Cevapla
#4
Hatayı bu kod satırlarında vermesi normal değil. 
ListView'in herhangi bir event'ını kullandınız mı?
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
(03-10-2019, Saat: 13:38)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Hatayı bu kod satırlarında vermesi normal değil. 
ListView'in herhangi bir event'ını kullandınız mı?

Hayır uygulama yeni proje olarak düşünün sadece test ediyorum. Yeni uyulama için sizi bekliyorum OrangeUI bileşenini.  Listview -> CanSwipeDelete ->False yaptım hata azaldı gibi sadece 1 defa verdi şimdilik.
Cevapla
#6
(03-10-2019, Saat: 13:45)elixir84 Adlı Kullanıcıdan Alıntı:
(03-10-2019, Saat: 13:38)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Hatayı bu kod satırlarında vermesi normal değil. 
ListView'in herhangi bir event'ını kullandınız mı?

Hayır uygulama yeni proje olarak düşünün sadece test ediyorum. Yeni uyulama için sizi bekliyorum OrangeUI bileşenini.  Listview -> CanSwipeDelete ->False yaptım hata azaldı gibi sadece 1 defa verdi şimdilik.

Bu hata ile daha önce hiç karşılaşmadım. İlginç bir durum. Aslında Items.Clear ile birlikte, CanSwipeDelete anlamını yitirmiş oluyor. Kullandığınız Delphi sürümünde Bug olma ihtimali yüksek.  
Bu haftaki eğitimde OrangeUI bileşen setlerine giriş yapıyoruz. OrangeUI functionları ile frame yönetimi, kullanıcı giriş ekranı ve ana frame tasarımını yapıyoruz. 
(Üzücü bir haber  Sad ) ListView veya ListBox bileşenine bu hafta değinmiyoruz. Bu bileşenlerle 12 Ekim tarihindeki seminerde çalışma yapacağız.
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
#7
Merhaba öncelikle Clear işlemini de begin update işlemine alıp denermisiniz.
Ayrıca
search işlemini kendi editinizde yapıyorsanız,
başlamadan önce
OnChangeTracking := nil;
işlem bittikten sonra
OnChangeTracking := Event;
şeklinde yaparmısınız
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#8
(03-10-2019, Saat: 13:57)Fesih ARSLAN Adlı Kullanıcıdan Alıntı:
(03-10-2019, Saat: 13:45)elixir84 Adlı Kullanıcıdan Alıntı: Hayır uygulama yeni proje olarak düşünün sadece test ediyorum. Yeni uyulama için sizi bekliyorum OrangeUI bileşenini.  Listview -> CanSwipeDelete ->False yaptım hata azaldı gibi sadece 1 defa verdi şimdilik.

Bu hata ile daha önce hiç karşılaşmadım. İlginç bir durum. Aslında Items.Clear ile birlikte, CanSwipeDelete anlamını yitirmiş oluyor. Kullandığınız Delphi sürümünde Bug olma ihtimali yüksek.  
Bu haftaki eğitimde OrangeUI bileşen setlerine giriş yapıyoruz. OrangeUI functionları ile frame yönetimi, kullanıcı giriş ekranı ve ana frame tasarımını yapıyoruz. 
(Üzücü bir haber  Sad ) ListView veya ListBox bileşenine bu hafta değinmiyoruz. Bu bileşenlerle 12 Ekim tarihindeki seminerde çalışma yapacağız.

Sorun değil beklerim yardımlarınız için teşekkürler.

(03-10-2019, Saat: 14:10)narkotik Adlı Kullanıcıdan Alıntı: Merhaba öncelikle Clear işlemini de begin update işlemine alıp denermisiniz.
Ayrıca
search işlemini kendi editinizde yapıyorsanız,
başlamadan önce
OnChangeTracking := nil;
işlem bittikten sonra
OnChangeTracking := Event;
şeklinde yaparmısınız

Deneyeyim dönüş yaparım.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  JSON to OrangeUI Listview ikurt07 6 1.295 08-04-2020, Saat: 15:54
Son Yorum: Fesih ARSLAN
  Android deployment E0004 PAClient Hatası behcet.tolga 2 241 23-03-2020, Saat: 16:42
Son Yorum: behcet.tolga
  TabControl delete adres hatası Kerembacioglu 5 547 09-03-2020, Saat: 23:27
Son Yorum: kodamelesi
  Listview nesnesi ile birden fazla alan oluşturma Fesih ARSLAN 12 6.452 09-03-2020, Saat: 10:47
Son Yorum: Fesih ARSLAN
  Socket error #110. connection time out hatası hbulus 6 661 05-02-2020, Saat: 13:11
Son Yorum: adelphiforumz



Konuyu Okuyanlar: 1 Ziyaretçi