Autor Téma: smazání položky ListBoxu na Androidu  (Přečteno 2379 krát)

Offline Topper

  • Příspěvků: 7
  • Karma: 0
smazání položky ListBoxu na Androidu
« kdy: 17-09-2013, 16:14:00 »
Pokouším se mazat položku v ListBoxu na Androidu. Mám tento kód:

ShowMessage(TListBoxItem(Sender).Name);  //abych si byl jistý, že tam je správná komponenta
TListBoxItem(Sender).Free;

Nestane se vůbec nic. Položka v seznamu zůstane.
Napadlo mne přepnout platformu na Win32. Bez problému se smaže.
Nemáte někdo nějaký nápad? Děkuji

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1410
  • Karma: 34
    • Pepak.net
Re:smazání položky ListBoxu na Androidu
« Odpověď #1 kdy: 17-09-2013, 16:41:18 »
Nepomohlo by smazat Sender z jeho listboxu pomocí Items.Delete a teprve potom ho uvolňovat?

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2285
  • Karma: 101
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:smazání položky ListBoxu na Androidu
« Odpověď #2 kdy: 17-09-2013, 16:42:47 »
TListBoxItem(Sender).Free podle mne udělá to (díky) ARC, že v prvním kroku zvětší počítadlo referenci o 1, a následně Free ho zase sníží o 1.

Spíše bych tak z hlavy zkusil něco jako ListBox.Items.Delete(Sender).
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2285
  • Karma: 101
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:smazání položky ListBoxu na Androidu
« Odpověď #3 kdy: 17-09-2013, 16:45:37 »
Nepomohlo by smazat Sender z jeho listboxu pomocí Items.Delete a teprve potom ho uvolňovat?

Taky si myslím, jen s tím, že ho netřeba uvolňovat (pokud máš tu potřebu tak stačí nastavit na nil).
Embarcadero MVP - Czech republic

Offline Topper

  • Příspěvků: 7
  • Karma: 0
Re:smazání položky ListBoxu na Androidu
« Odpověď #4 kdy: 17-09-2013, 22:28:53 »
Děkuji za rady, nakonec skutečně vyšlo: ListBox.Items.Delete(ListBox.ItemIndex)
Moc se mi nelíbí práce v TListBoxu chvíli s TListBoxItem a chvíli s TStrings.
Je pravda, že to není ničím podložené. Budu si muset zvyknout. :-)