Thema: Delphi Endlosschleife

Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Endlosschleife

  Alt 24. Sep 2004, 21:16
Delphi-Quellcode:
  if Halter^.text = Text then
  begin
    // wenn das zu löschende item am anfang(Halter) ist
    i := Halter^.next;
    Dispose(Halter);
    Halter := i;
  end
  else
  begin
    // wenn das zu löschende item in der mitte oder am ende ist
    i := Halter;
    while (i^.next <> nil) do
    begin
      if i^.next^.text = Text then
      begin
        p := i^.next^.next;
        Dispose(i^.next);
        i^.next := p;
      end;
    end;
  end;


kann mir jemand sagen was hier falsch ist? Der erste teil funktionier einwandfrrei, möchte ich aber ein item aus meiner verketteten liste löschen das in der mitte/am ende ist endet das in einer endlossschleife, jemand ahnung warum?

i, und p sind lokale variablen, erstere ist nur dazu gedacht durch die ganze kette zu laufen, p hält am ende nur einen pointer fest, damit ich das item löschen kann.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat