Forum: Object-Pascal / Delphi-Language
Delphi
by teebee,
31. Mär 2005
Der Unterschied ist, dass Du der Procedure einen offenen Array-Parameter übergibst. Und die fangen bei Null an zu zählen, egal, wie das Array definiert ist, das du dann tatsächlich übergibst.
Gruß, teebee
Forum: Object-Pascal / Delphi-Language
Delphi
by teebee,
31. Mär 2005
Du hast irgendwo in Speicher geschrieben, der Dir nicht gehört hat. Je nachdem, wo Du foo deklariert hast, war hinter dem Speicherbereich des Arrays entweder Dein foo oder eben nicht reservierter Speicher. (Naja, meine Theorie...) Wahrscheinlich hast Du mit dem Überschreiten der Grenze Dein foo überschrieben, was aber scheinbar ok war, weil es ja Speicher war, der von Dir reserviert wurde, aber...
Forum: Object-Pascal / Delphi-Language
Delphi
by teebee,
31. Mär 2005
Bist Du sicher, dass die Schutzverletzung im Zusammenhang mit der lokalen Variablen auftritt? Auf den ersten Blick ist das so nämlich in Ordnung. Allerdings gehst Du von 1 bis Length durch das dynamische Array. Arrays fangen bei aber bei 0 an dementsprechend müsstest Du eigentlich von 0 bis Length-1 gehen (oder von Low bis High). Das sieht jedenfalls eher nach einer Schuztverletzung aus.
...