23. maj 2002 - 09:39Der er
7 kommentarer og 1 løsning
setlength giver access violation
Hej,
Jeg har et problem. Jeg har lavt en stor dynamisk array af reele tal vhja setlength. Når jeg så bruger setlength igen for at bruge arrayen til nye tal får jeg access violation error.
Jeg har prøvt at lave et simplet eksempel med en lille array hvor det ikke noget problem at bruge setlength flere gange og det er hellere ikke noget problem at genbruge array'en med nye værdier.
Jeg har også prøvt at bruge arraynavn:=copy(arraynavn,0,0); for at slette arrayen inden jeg genbruger den. Dette gør at jeg kan genbruge den et antal gange hvorefter jeg igen får acces violation.
Problemet er at jeg skal kunne genbruge arrayen. Hvis jeg indsætter følgende i dit eksempel og trykker en ~10 gange får jeg access violation error (også selv om jeg bruger button2click til at slette arrayen).
procedure TForm1.Button3Click(Sender: TObject); begin SetLength(RealArray, 20000); end;
Jeg forstår heller ikke hvorfor setlength ikke virker ordentligt. Den burde jo i princippet bare værre en simpel udgave af dynamisk allokering eller hvad?
Ok, jeg acceptere svaret selvom det ikke løste mit problem.
Mange tak.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.