Czyszczenie listy

0

Dlaczego wyskakuje mi błąd "Error:204 Invalid pointer operation " przy dispose:

var glowa:wskaznik;
procedure czysc;
var us:wskaznik;
begin
while glowa <> nil do
begin
us:=glowa^.wsk;
dispose(glowa);
glowa:=us;
end;
end;
0

Spróbuj zamiast New i Dispose użyć GetMem i FreeMem, może to one coś psują.

0

to samo

0
elmo123 napisał(a)

Dlaczego wyskakuje mi błąd "Error:204 Invalid pointer operation " przy dispose:

var glowa:wskaznik;
procedure czysc;
var us:wskaznik;
begin
while glowa <> nil do
begin
us:=glowa^.wsk;
dispose(glowa);
glowa:=us;
end;
end;

Nie powinno być ?

while Glowa <> nil do
begin
  Dispose(Glowa);
  Glowa := Glowa^.Wsk;
end;
0

Po Dispose odwoływać się do wskaźnika? To jak na moje nie podziała... Po prostu przypisz Glowa^.Wsk do Glowa. Bez Dispose.

0

Deklaracja twojego typu wskaznik by się przydała... gdy tworzę go według swojej intuicji (by pasował do twojego kodu) to żadne błędy się nie pojawiają.

0

no i przydało by się też jak tworzysz listę

1 użytkowników online, w tym zalogowanych: 0, gości: 1