Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: Button gibt sich selbst bei klick frei

  Alt 26. Jan 2017, 20:22
OK, wenn das auch unter den mobilen Plattformen verwendet werden soll, ist das Beispiel ungünstig, da man dann eh besser vom Parent-Object die vorgesehen Lösch-Funktionen verwendet.

Ein direktes Free des ListboxItems hat wegen AutoRefCount unter den mobilen Plattformen sowieso nicht die erwünschte Auswirkung. Hier müsste man also ListBox1.items.delete(index) verwenden. Das wird dann anders als unter Windows behandelt und das System kümmert sich dann um die tatsächliche Entfernung des Eintrags zum passenden Zeitpunkt.

Ich hab es mal kurz hier getestet, diese Variante funktioniert hier unter Windows und Android, hier das Android-OnTap-Event:
Delphi-Quellcode:
procedure TForm46.lbiTap(Sender: TObject; const Point: TPointF);
var
  tt: TTask;
  lbi: TListBoxItem;
begin
  if TFmxObject(Sender).Parent is TListBoxItem then
  begin
    lbi := TListBoxItem(TFmxObject(Sender).Parent);
    
    TTask.run (procedure
    begin
      TThread.Synchronize(NIL, procedure
      begin
        Listbox1.Items.Delete(lbi.Index);
      end);
    end);
  end;
end;
  Mit Zitat antworten Zitat