AGB  ·  Datenschutz  ·  Impressum  







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

Fehlermeldung bei nem Array

Ein Thema von speedy · begonnen am 19. Sep 2003 · letzter Beitrag vom 19. Sep 2003
Antwort Antwort
speedy

Registriert seit: 19. Sep 2003
55 Beiträge
 
Delphi XE5 Professional
 
#1

Fehlermeldung bei nem Array

  Alt 19. Sep 2003, 01:46
Hi,

ich programmier grade an nem Mathe Trainingsprogramm und bekomm immer ne Fehlermeldung wenn ich ein Array festlege. Aber warum hab ich bis jetzt noch nicht rausgefunden...

und zwar:

Code:
 setlength(rz1,2);
  rz1[1] := 1; rz1[2] := 2;
 setlength(rz2,2);
  rz2[1] := 1; rz2[3] := 3;
 setlength(rz3,2);
  rz3[2] := 2; rz3[3] := 3;
 setlength(rz4,3);
  rz4[1] := 1; rz4[2] := 2; rz4[3] := 3;   {<--------- PROBLEM}
rz4 ist hierbei "array of integer".

das ganze soll anschließend mit
Code:
rechen3 := randomfrom(rz4);
weiterverarbeitet werden.

und die fehlermeldung ist
Zitat:
In Projekt c:\text.exe trat ein problem mit folgender meldung auf: 'zugriffsverletzung bei 0x00405a51: schreiben von adresse 0x00030cd4'. prozess angehalten. mit einzelne anweisung oder start fortsetzen.

hat jemand ne idee wo der fehler liegen könnte? die anderen 'setlength' anweisungen schluckt er auf jeden fall einwandfrei.


vielen dank!

gruß
speedy
  Mit Zitat antworten Zitat
anku

Registriert seit: 13. Sep 2003
51 Beiträge
 
#2

Re: Fehlermeldung bei nem Array

  Alt 19. Sep 2003, 02:59
Du musst immer von null an zählen. Ein dynamisches Array beginnt immer mit dem index 0. wenn dein array eine "länge" von 2 hat, dann zählt der index von 0 bis 1, also array[0] und array[1]. array[2] führt zu einem fehler. schalte am besten untern den compiler options die bereichsüberprüfung ein. projekt->options->reiter compiler, haken bei bereichsprüfung setzen.

mfg
  Mit Zitat antworten Zitat
speedy

Registriert seit: 19. Sep 2003
55 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Fehlermeldung bei nem Array

  Alt 19. Sep 2003, 08:33
hmm... ich hatte mal kurzzeitig bei der fehlersuche den index von rz4 so:
Code:
setlength(rz4,3);
  rz4[0] := 1; rz4[1] := 2; rz4[2] := 3;
das programm ist aber leider trotzdem an der stelle ausgestiegen...

gruß
speedy
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#4

Re: Fehlermeldung bei nem Array

  Alt 19. Sep 2003, 09:49
Delphi-Quellcode:
 setlength(rz1,2);
  rz1[1] := 1; rz1[2] := 2; // <-- du zerstören Speicher
 setlength(rz2,2);
  rz2[1] := 1; rz2[3] := 3; // <-- du zerstören Speicher
 setlength(rz3,2);
  rz3[2] := 2; rz3[3] := 3; // <-- du zerstören Speicher
 setlength(rz4,3);
  rz4[1] := 1; rz4[2] := 2; rz4[3] := 3; // <-- du zerstören Speicher
Delphi-Quellcode:
 setlength(rz1,2);
  rz1[0] := 1; rz1[1] := 2;
  setlength(rz2,2);
  rz2[0] := 1; rz2[1] := 3;
 setlength(rz3,2);
  rz3[0] := 2; rz3[1] := 3;
 setlength(rz4,3);
  rz4[0] := 1; rz4[1] := 2; rz4[2] := 3;
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Blechwolf

Registriert seit: 9. Sep 2003
Ort: Aachen
126 Beiträge
 
Delphi 7 Professional
 
#5

Re: Fehlermeldung bei nem Array

  Alt 19. Sep 2003, 10:22
Salut,

wie Neo schon gesagt hat, liegt der Fehler vermutlich schon bei den Zuweisungen vorher, die auf vollkommen undefinierte Speicherbereiche zugreifen.
Das sich das erst bei der Belegung von rz4 äussert, hat nicht viel zu sagen.
Grüße

Blechwolf
Ein Schiff im Hafen ist sicher. Aber dafür werden Schiffe nicht gebaut. (engl. Sprichwort)
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:49 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