AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EAccessViolence bei Linearer Liste

Ein Thema von Riclem · begonnen am 6. Mär 2016 · letzter Beitrag vom 6. Mär 2016
 
Riclem

Registriert seit: 16. Mai 2014
8 Beiträge
 
#1

EAccessViolence bei Linearer Liste

  Alt 6. Mär 2016, 12:39
Delphi-Version: 2005
Hey,

ich arbeite zur Zeit an einem Schulprojekt und komme bei einem Fehler einfach nicht weiter.
Ich habe eine FirstIn-FirstOut-Liste, bei der Elemente hinzugefügt und gelöscht werden. Für Hilfe bin ich wirklich dankbar.
Listendefinition:
Delphi-Quellcode:
type
  Zeiger = ^elementtyp;

  elementtyp = record
    Zeit_Kunde_an: integer;
    Zeit_Kunde_noetig: integer;
    ref: Zeiger;
  end;
Hinzufügen von Elementen
Delphi-Quellcode:
procedure FiFo(Anker: Zeiger);
var p, q: Zeiger;
  stop: integer;
begin
  stop := GetTickCount;
  while ((GetTickCount) < (stop + 1600)) and (Form1.Aufhoeren.checked=false) do
  begin
    new(q);
    q^.ref := nil;
    q^.Zeit_Kunde_an := GetTickCount;
    q^.Zeit_Kunde_noetig := 1000;
    if Anker = nil then
      Anker := q
    else
      p^.ref := q; //Hier war früher eine EAccessViolation - auf wundersame Weise verschwunden
    p := q;
    Form1.K1_Z.caption := IntToStr(StrToInt(Form1.K1_Z.caption) + 1);
    Pausieren(400);
  end;
end;
Löschen von Elementen
Delphi-Quellcode:
procedure Bearbeitung();
var K_Z_noetig: integer;
  p: Zeiger;
begin
  while Form1.Aufhoeren.checked = false do
  begin
    if (StrToINt(Form1.K1_Z.Caption) > 0) and (Form1.Aufhoeren.checked = false) then
    begin
      K_Z_noetig := K1_A^.Zeit_Kunde_noetig;
      Pausieren(K_Z_noetig);
      p := K1_A;
      K1_A := K1_A^.ref; //HIER tritt sie jetzt auf
      dispose(p);
      Form1.K1_Z.caption := IntToStr(StrToInt(Form1.K1_Z.caption) - 1);
    end
    else Pausieren(400);
  end;
end;
Viele Grüße und danke schonmal
Riclem
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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