Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   aufrufen von array of strings (https://www.delphipraxis.net/191995-aufrufen-von-array-strings.html)

Gandalfalex 11. Mär 2017 15:46

aufrufen von array of strings
 
Hallo,
ich versuche einfach aus Testzwecken mal ein kleines Quizz zu schreiben.
Dafür habe ich mir bereits eine Datenbank angelegt und lade die in eine Stringlist, welche in ein Array of Array of String gefüllt wird. Das klappt auch soweit, da ich den gesamten Array in einem Memo ausgeben kann.

Nun will ich die Antwortmöglichkeiten als Captions für Button verwenden und will sie vorher in einem normalen String speichern, bekomme beim Aufrufen aber einen SIGSEGV.
Der Array wird aber nicht überlastet, da manche Fragen in der Mitte angezeigt werden und manche nicht...

ich komme an dieser stelle nicht weiter


a:= Random(length(Fragen)-1)
try
if Fragen[a*5,0]<>'' then Antwort0:=Fragen[a*5,0];
finally
if (Antwort0<>'Ladefehler') and (Antwort0<>'') then
Button1.Caption:= Antwort0;


habe ich irgendwas übersehen?

Uwe Raabe 11. Mär 2017 16:11

AW: aufrufen von array of strings
 
Zitat:

Zitat von Gandalfalex (Beitrag 1363840)
a:= Random(length(Fragen)-1)

liefert einen Wert a im Bereich
Delphi-Quellcode:
0 <= a < (Length(Fragen) - 1)
. Nehmen wir mal an, daß
Delphi-Quellcode:
Length(Fragen) > 1
ist. Was glaubst du, worauf
Delphi-Quellcode:
Fragen[a*5]
dann zugreift, wenn z.B.
Delphi-Quellcode:
a = Length(Fragen) - 2
ist?

Hast du denn kein Range-Checking eingeschaltet?

himitsu 11. Mär 2017 17:19

AW: aufrufen von array of strings
 
Tipp, da du selber Probleme mit Indize hast, schalte doch mal die Bereichsprüfung in den Projektoptionen an.
Dann haut dir das Programm eine "bessere" Fehlermeldung um die Ohren, wenn du wieder einmal auf etwas zugreifen willst, das es nicht gibt.

Projektoptionen > Delphi-Compiler > Compilieren > Laufzeitfehler > Bereichsprüfung

Gandalfalex 11. Mär 2017 19:57

AW: aufrufen von array of strings
 
Ohh ja jetzt sehe ich es auch.. tut mir leid ich habe mich gewundert und sämtliche andere Fehlerquellen versucht zu finden..
manchmal sieht man den Wald vor Bäumen nicht

Danke für die Hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz