![]() |
Item aus verketteter liste löschen
hi,
ich habe folgendes geschrieben um ein item aus einer verketten liste zu löschen:
Delphi-Quellcode:
ich kann ihn leider nicht testen da es eine server anwendung ist und ich zum test n paar leute bräuchte die draufgehen unter wieder disconnecten usw...
procedure TServer.ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
var CurCon: PCon; begin CurCon := AnkerCon; while not (CurCon^.SockHandle = Socket.SocketHandle) do CurCon := CurCon.next; if CurCon = AnkerCon then begin if CurCon.next <> nil then begin CurCon.next.prev := nil; AnkerCon := CurCon.next; end; end else if CurCon.next = nil then CurCon.prev.next := nil else begin CurCon.prev.next := CurCon.next; CurCon.next.prev := CurCon.prev; end; Dispose(CurCon); end; deswegen wollt ich hier mal fragen ob es richtig aussieht? Im ersten fall wird geprüft ob das aktuelle(CurCon) item das erste item (anker) ist im zweiten fall prüfe ich ob das aktuelle das letzte item ist und im letzten fall ist es ein item das in der mitte irgendwo ist. Kann das jemand so erkennen ob da irgendwo fehler sind? |
Re: Item aus verketteter liste löschen
Das sieht eigentlich genau richtig aus.
8) |
Re: Item aus verketteter liste löschen
hab das:
Delphi-Quellcode:
nochmal in:
if CurCon.next <> nil then
begin CurCon.next.prev := nil; AnkerCon := CurCon.next; end;
Delphi-Quellcode:
geändert.
if CurCon.next <> nil then
CurCon.next.prev := nil; AnkerCon := CurCon.next; |
Re: Item aus verketteter liste löschen
warum benutzt du nicht einfach "TList" und rufst dann die methode "delete" davon auf?
|
Re: Item aus verketteter liste löschen
Zitat:
|
Re: Item aus verketteter liste löschen
TList ist aber keine verkettete Liste, sondern eine sequenzielle!
Delphi bringt von Haus aus aber keine Klassen für allgemeine verkettete Listen mit, sondern nur für Stacks und Queues. Vielleicht tuts das für dich auch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz