Einzelnen Beitrag anzeigen

hackyie

Registriert seit: 3. Nov 2003
50 Beiträge
 
#1

Absturz in Delphi: Überlauf?

  Alt 21. Feb 2005, 09:23
Hallo,

ich habe ein etwas komplizierteres Problem in Delphi, ich will mir zunächst mal ersparen, hier den ziemlich umfangreichen Quellcode reinzuposten und erkläre es so.

Ich arbeite zur Zeit an einem Romme-Kartenspiel in Delphi, da gibt es unter anderemn 2 Methoden, die nacheinander aufgerufen werden: SetToDesk(), damit wird ein Set von Karten aus der Hand auf den Tisch gelegt. Danach wird in einer Schleife mit removeCard() jede der Set-Karten aus der Hand gelöscht.

Nun zum Problem: Das Programm stürzt mit einer Schutzverletzung ab (Fehler beim Schreiben in Adresse.....). Das sieht so aus: Ich klicke auf den Button, das Programm hängt etwa 2-3 Sekunden, dann kommt der Fehler und zwar in dem Moment, wo er in die RemoveCard() springen will. Das Merkwürdige ist, dieser Fehler kommt nicht, wenn ich die SettoDesk() - Methode vorher nicht aufrufe, obwohl die beiden gar nichts miteinander zu tun haben, die schreiben nichtmal auf die gleichen Variablen, etc.

Das einzige, was mir dazu einfällt, sind irgendwelche Heap-Überläufe, wobei an Daten ist da nicht wirklich viel...110 Spielkarten in 3-4 Arrays.... Ich arbeite in Delphi 7 und dies ist mein erstes Projekt, in dem ich mit dynamischen Arrays arbeite. Davon benutze ich einige, die auch meist per var-Parameter an Prozeduren übergeben werden. Bis auf eben diese Prozedur läuft das auch sehr gut. Oder was ist bei solchen Arrays noch zu beachten?
Thread(this).Post(this).terminate;
  Mit Zitat antworten Zitat