Listview Problemi

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
jakarta2
Üye
Mesajlar: 74
Kayıt: 20 Nis 2015 06:51
İletişim:

Listview Problemi

Mesaj gönderen jakarta2 »

var litem : Tlistviewitem;
LImage : TListItemImage;
size :TsizeF;
begin
TabControl1.ActiveTab := TabItem1;
TabControl2.ActiveTab := TabItem5;


size := Tsizef.Create(50,50);
listview1.items.clear;
listview1.BeginUpdate;

litem := listview1.items.Add;
litem.Height := 50;
litem.Text := 'deneme';
litem.Detail := '(deneme)';
litem.BitmapRef := imagelist1.Bitmap(size, 12);

kodlarıyla listview'e atıyorum 8 resimden sonra project programadi.exe raised exception class @C0000005 with mesage 'access violation at 0X00789afd:read of adress 0X0000006' hatssı veriyor. Çıldıracağım bulamadım nedenini.
imagelistteki resimleri değiştirdim, Listviewi kaldırdım yeniden ekledim.
delphimaker
Üye
Mesajlar: 10
Kayıt: 04 May 2016 05:58

Re: Listview Problemi

Mesaj gönderen delphimaker »

https://newsgroups.embarcadero.com/mess ... ageID=6592
CodeGuard çalışma zamanı paketleri ile ilgili bir sorundan bahsediliyor. Linki incelemeni tavsiye ederim
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Listview Problemi

Mesaj gönderen fesiharslan »

Merhaba;
Benim önerim TSizeF tipini kullanmadan, ListView'e Bitmap atamanız yönünde olacaktır.
Bunun için;
1- ListView'in Images özelliğine ImageList1'ı atayın.
2- var Bölümüne tanımlanmış olduğunuz 3 adet değişkeni (litem, LImage, size) de tamamen silin.
3- Daha sonra kodunuzu aşağıdaki gibi yeniden duzenleyin.

Kod: Tümünü seç

begin
  TabControl1.ActiveTab := TabItem1;
  TabControl2.ActiveTab := TabItem5;

  listview1.items.clear;
  listview1.BeginUpdate;

  With listview1.items.Add do
  begin
    Height := 50;
    Text := 'deneme';
    Detail := '(deneme)';
    ImageIndex := 12;
  end;
  
  listview1.EndUpdate;
end;
Yukarıdaki kod yapısında bütün değişkenlerden (litem, size ve LImage) kurtulmuş olursunuz. Bu sayede bellekten ek yer kazanmış ve uygulama performansınızı da artırmış olursunuz.
İyi çalışmalar...
jakarta2
Üye
Mesajlar: 74
Kayıt: 20 Nis 2015 06:51
İletişim:

Re: Listview Problemi

Mesaj gönderen jakarta2 »

Hocam sağolasın kodları denedim 5-6 tane item ekleyip imagelistle eşleştirdiğimde sorun olmadı ancak 15 tane item ekleyince telefon öyle bir zorlandı ki 9.,10. iteme scrollbarla inemedim bile...

Bende forma 1 adet VertScrollBox1 koydum, 15 tane rectangle koydum, üzerine imagelar ve labeller koyarak hallettim.

Şimdiki sorunum ise

memo'da, listview'de ya da listbox'ta aşağıdaki gibi düzen oluşturamıyorum

---------------------------------------------------------------------
Başlık(renkli ve fontu büyük)

ldksjfkldsjflkjdlskjflkjsdlfkjldsjlkfjlkdsjlkfjlkd

Başlık(renkli ve fontu büyük)

ldksjfkldsjflkjdlskjflkjsdlfkjldsjlkfjlkdsjlkfjlkd
fdskfşlkdsşlfkşlsdkflşksdşlfkşlksdşkfkdslşkfkşdsl
şdskşfkşsdkfşkşsdkfşksşdkfşksdşkfksdşlklfkşldskşl

Başlık(renkli ve fontu büyük)

ldksjfkldsjflkjdlskjflkjsdlfkjldsjlkfjlkdsjlkfjlkd
fdskfşlkdsşlfkşlsdkflşksdşlfkşlksdşkfkdslşkfkşdsl
şdskşfkşsdkfşkşsdkfşksşdkfşksdşkfksdşlklfkşldskşl
şlsdkfşlsdklşfsdşlfkşlsdkfksdkfşkşsldkfşksdşkfşklşk
ldksjfkldsjflkjdlskjflkjsdlfkjldsjlkfjlkdsjlkfjlkd
fdskfşlkdsşlfkşlsdkflşksdşlfkşlksdşkfkdslşkfkşdsl
şdskşfkşsdkfşkşsdkfşksşdkfşksdşkfksdşlklfkşldskşl
şlsdkfşlsdklşfsdşlfkşlsdkfksdkfşkşsldkfşksdşkfşklşk

Başlık(renkli ve fontu büyük)

ldksjfkldsjflkjdlskjflkjsdlfkjldsjlkfjlkdsjlkfjlkd

------------------------------------------------------------------------


listview ile yapmaya çalıştım. Telefonda Text ile detail arasında çok büyük boşluk oluştu, Detail yarım çıktı gibi sorunlarla karşılaştım.


listview2.items.Clear;
sec := aradansec(memo1.lines.text, ' deneme');
trimleft(sec);
delete(sec, 1,37);
With listview2.items.Add do
begin
Height := 250;
Text := 'deneme';
Detail := 'dlskjflksdjflkjsdlfjlsdjlfkjlsdjfljsdlfjlsdjfljsdlkfjlksdjlfkjsdlkjflksdjlkfjsdlkjflksdjlfkjsldkjflkjsdlkfjlksdjlfkjsdlkjflksjdlkfjlksdjflkjl
fdsşlkflksdkjflsldkjflkjsdlkjflkdsjlkfjlksdjflkjsdlkfjlksdjfljlsdkjklfjskldjfklsdjflkdjslkfjdslkfjlk';
end;

sec := aradansec(memo1.lines.text, ' deneme');
trimleft(sec);
delete(sec, 1,37);
With listview2.items.Add do
begin
Height := 250;
Text := 'deneme';
Detail := 'dlskjflksdjflkjsdlfjlsdjlfkjlsdjfljsdlfjlsdjfljsdlkfjlksdjlfkjsdlkjflksdjlkfjsdlkjflksdjlfkjsldkjflkjsdlkfjlksdjlfkjsdlkjflksjdlkfjlksdjflkjl
fdsşlkflksdkjflsldkjflkjsdlkjflkdsjlkfjlksdjflkjsdlkfjlksdjfljlsdkjklfjskldjfklsdjflkdjslkfjdslkfjlk';
end;

Gibi bir kod yazdığımda telefonda detail kısmı yarım görünüyor listview.Detail.Wordwrap = True
Cevapla