
Zitat von
ajaxson:
und wie wär es besser? soll ich var:liste etc.. rauslassen?
ich verwende ja die
unit in meinem hauptprogramm..müssen sich da die proceduren nicht auf die liste beziehen...
Du solltest schon etwas mitdenken.
Angenommen du willst
zwei Listen haben.
Du würdest also schreiben:
Delphi-Quellcode:
var
ListeA, ListeB : TRIngliste;
...
erzeugen(ListeA);
erzeugen(ListeB);
anhaengen(42, ListeA);
anhaengen(66, ListeB);
So und jetzt schau dir mal deine Prozeduren an!
Delphi-Quellcode:
procedure erzeugen(var liste:TRIngliste);
begin
{ FALSCH
Ringliste.erstes:=NIL;
Ringliste.aktuelles:=NIL;
Ringliste.letzte:=NIL;
}
// Richtig
liste.erstes:=NIL;
liste.aktuelles:=NIL;
liste.letzte:=NIL;
end;
Und das gilt nicht nur für "erzeugen", sondern für alle deine Prozeduren.
Du solltest deine globale Variable Ringliste auskommentieren.