Einzelnen Beitrag anzeigen

Obelisk2k5

Registriert seit: 20. Jun 2010
14 Beiträge
 
Delphi 2 Desktop
 
#18

AW: Listen und wie man sie nutzt

  Alt 24. Jun 2010, 00:10
Überleg einmal, was passiert, wenn es genau ein Listenelement gibt.

Dein Developerbyindex wird genau einmal mit dem Parameter index=1 aufgerufen.

if index <= DevelopersCount liefert true

for i := 0 to index-1 do -> from 0 to 0, schleife wird genau einmal durchlaufen

current := current^.Next; -> first^.next = nil, weil es ja nur ein Listenelement gibt.

current^.content = nil^.content = exception.
Oh, das habe ich ja gar nicht gesehen.

Delphi-Quellcode:
function getDeveloperByIndex(index: Cardinal): TDeveloper;
var
  temp : TDeveloper;
  i: Integer;
begin
  current := first;
  if (index <= DevelopersCount) and (DevelopersCount > 1) then
    for i := 1 to index-1 do
      current := current^.Next;
  getDeveloperByIndex := current^.content;
end;
Sollte dann ja die richtige Variante sein.


Nur tritt der von mir beschriebene Fehler immernoch auf...

Geändert von mkinzler (24. Jun 2010 um 05:28 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat