![]() |
Stack-Überlauf bei IndexOf
Moin,
ich habe folgendes Phänomen beobachtet: Wenn ich ca. 20-50 Vokabeln abfragen lasse, funktioniert alles Fehlerfrei! Aber so ab 50 Vokabeln aufwärts haut er mir einen Stack-Überlauf rein ODER die Fehlermeldung "Exception in der Klasse EAccessViolation aufgetreten. Zugriffsverletzung..." Der Code, wo dieser Fehler auftritt:
Delphi-Quellcode:
Es liegt 100%ig an diesen Zeilen! Hab es mit Showmessage lokalisiert!
for i:=0 to abfrage.vokabeln.Items.Count-1 do begin
abzufragende_voks[i] := main.voks.Items.IndexOf(abfrage.vokabeln.Items[i]); end; Wie kann ich das Problem beheben? Wisst ihr weiter? Vielen Dank |
Re: Stack-Überlauf bei IndexOf
also, bei diesem programmausschnitt kann dir sicher niemand helfen.
vielleicht das array abzufragende_voks vergrößern? |
Re: Stack-Überlauf bei IndexOf
Zitat:
Zitat:
Dein Code ist aber tatsächlich arg knapp gehalten ;) Gruss, Fabian |
Re: Stack-Überlauf bei IndexOf
Moin,
Zitat:
Und zeig mal bitte die deklarationen, denn so sieht der code recht unverdächtig aus...aber wer weiss? |
Re: Stack-Überlauf bei IndexOf
100%ig ein zu kleines Array!
Zitat:
|
Re: Stack-Überlauf bei IndexOf
Hallo,
wie ihr alle über meinen Beitrag hergefallen seit... *g* Echt cool :) --------------------- Ihr hattet recht: Es lag an einem zu kleinen Array: SetLength(Array,41); Ansonsten: Per F9 startet er und bei nem Fehler springt er ja normalerweise an die Fehlerstelle: Das war in diesem Falle leider nicht so! Er hat mir die Zugriffsverletzung ausgegeben und dann nen Fenster mit irgendwas über die CPU oder Ressourcen? Naja, wegen Debugging werd ich mich mal schlau machen :) Vielen Dank für die schnelle Hilfe... |
Re: Stack-Überlauf bei IndexOf
also,
ich bin auch der meinung, dass das debugging mit ShowMessage der schlechteste weg ist. man muss erst die messages einbauen, weiss dann nicht mehr wo welche message erscheinen soll, muss ständig die lästigen fenster wegklicken und am schluss muss man die messages wieder aus dem code löschen. mit breakpoints und stepping ist man viel flexibler und kann viel schneller fehler finden. ausserdem hat man ständig den code vor augen und es fallen noch andere schwachstellen auf. gruessle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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