Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

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

Item aus verketteter liste löschen

  Alt 19. Sep 2004, 14:44
hi,

ich habe folgendes geschrieben um ein item aus einer verketten liste zu löschen:

Delphi-Quellcode:
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;
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...
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?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat