![]() |
Re: EAccessViolation Fehler
Beim Debuggen stoppt er an folgender Stelle:
Delphi-Quellcode:
Ist mir allerding schleierhaft, dass er die while schleife einmal komplett durchläuft und beim zweiten Mal an der benannten Stelle abbricht...
procedure TForm1.Ausgeben;
var yPos: integer; begin for yPos:= 1 to 30 do begin StringGrid1.Cells[1, yPos]:= ''; StringGrid1.Cells[2, yPos]:= ''; end; sportler:= schnellster; ypos:= 1; while sportler <> nil do begin StringGrid1.Cells[1, yPos]:= sportler^.name; StringGrid1.Cells[2, yPos]:= FloatToStr(sportler^.zeit); //<--- Diese Zeile sei ein EAccessViolation sportler:= sportler^.next; ypos:= ypos+1; end; end; |
Re: EAccessViolation Fehler
Delphi-Quellcode:
existiert diese Zelle überhaupt?
StringGrid1.Cells[2, yPos]
|
Re: EAccessViolation Fehler
Ja sie existiert, aber ich habe gerade eine Lösung gefunden. Aus irgendeinem Grund hat Delphi die while schleife zwei mal durchlaufen obwohl nur ein Element existierte.
Habe es jetzt wie folgt behoben, wenngleich ein wenig umständlich.
Delphi-Quellcode:
So funktioniert es
procedure TForm1.Ausgeben;
var yPos, i: integer; begin for yPos:= 1 to 30 do begin StringGrid1.Cells[1, yPos]:= ''; StringGrid1.Cells[2, yPos]:= ''; end; sportler:= schnellster; ypos:= 1; for i:= 1 to anzahl do begin // <-- Habe nun nach jedem Einfügen bzw. Löschen die anzahl Variable die Sportler zählen lassen StringGrid1.Cells[1, yPos]:= sportler^.name; StringGrid1.Cells[2, yPos]:= FloatToStr(sportler^.zeit); sportler:= sportler^.next; ypos:= ypos+1; end; end; |
Re: EAccessViolation Fehler
Hi,
Zitat:
Delphi-Quellcode:
ist das Feld "next" nicht NIL, weshalb die while-Bedingung
sportler:= sportler^.next;
(sportler<>nil) weiterhin erfüllt ist... Schau dir mal deinen Source zum Einfügen eines neuen Sportlers an, ob dort das Feld "next" auf NIL initialisiert wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 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