Code: Alles auswählen
  idx := GetArtikelIndex;
  if idx < 0 then               // idx hat den richtigen Wert
    exit;
  A := ArtikelListe[idx];   
 
// A hat den richtigen Inhalt
 
  // wenn die folgende Zeile ausgeklammert ist, funktioniert es wie gewünscht ! 
  if MessageDlg('Diesen Artikel wirklich löschen?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
 
  begin 
 
// hier hat A einen anderen Inhalt --- Warum?
// Anm. A hat nun den Inhalt des letzten Artikels in der Artikelliste.
 
    ArtikelListe.DeleteByID(A.ID); 
    ArtikelListe.Delete(idx);             // idx noch immer richtig ! 
    dgArtikel.RowCount := dgArtikel.RowCount - 1;
    if idx >= ArtikelListe.Count then
      idx := ArtikelListe.Count - 1;
    dgArtikel.Row := dgArtikel.FixedRows + idx;
    dgArtikel.Invalidate;
  end;                                         
 Ist dies irgendwie erklärbar?
 Verein
Verein 
 Links
Links Suche
Suche