Hallo,
ich habe folgendes Programm geschrieben:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| var anzahl : integer; i : integer; wert : integer; gr_Wert: integer; kl_Wert: integer; Felder : array of integer; begin anzahl := 0; kl_Wert := 0; gr_Wert := 0; randomize; anzahl := StrToInt(Edit1.Text); SetLength(Felder, anzahl); for i := 1 to Anzahl do begin wert := random(100); Felder[i] := wert; end; for i := 1 to Anzahl do begin gr_Wert := MaxIntValue(Felder); kl_Wert := MinIntValue(Felder); end; Edit2.Text := IntToStr(gr_Wert); Edit3.Text := IntToStr(kl_Wert); end; |
Nach Start des Programms gebe ich die Anzahl der zu erzeugenden Zufallszahlen ein, die in einem dynamischen Array abgelegt werden sollen. Manchmal habe ich da schon beim Start eine Fehlermeldung der Klasse EAccessViolation: Habe auch schon nachgelesen, was diese Fehlermeldung bedeutet, allerdings kann ich damit immer noch keinen Fehler herausfinden.
Zur nächsten Fehlermeldung:
Gebe ich zB als Anzahl 30 ein, bekomme ich eine Fehlermeldung: Zugriffsverletzung und dann viele Speicheradressen.
Gebe ich als Anzahl 10 ein, berechnet er mir, so wie ich es mir vorstelle, klicke ich dann allerdings auf den Schließen-Button, bekomme ich eine Fehlermeldung, dass ich einen Pointer nicht richtig benutze.
Was mache ich mit meinen dynamischen Arrays falsch ??
ein verzweifelter
Andreas