Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
General
»
SetLength fall
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Nested declarations insid...
by
dbannon
[
Today
at 04:35:43 am]
New old guy
by
TBMan
[
Today
at 04:00:47 am]
How to validate ParamStr(...
by
n7800
[
Today
at 03:29:56 am]
Lazarus Pascal Keywords a...
by
Aruna
[
Today
at 03:14:32 am]
Why with allows assignmen...
by
440bx
[
Today
at 03:02:26 am]
SDL2: Runtime Error 216 o...
by
TRon
[
Today
at 02:52:21 am]
Lazarus Release Candidate...
by
calebs
[
Today
at 01:55:45 am]
MQTT Client
by
cdbc
[January 12, 2025, 10:48:04 pm]
SDL2 image rotation Probl...
by
Fred vS
[January 12, 2025, 09:30:11 pm]
FPC crashes after running...
by
jamie
[January 12, 2025, 09:20:00 pm]
Out of memory / filter tw...
by
BubikolRamios
[January 12, 2025, 08:32:02 pm]
rebuilding IDE fails
by
Martin_fr
[January 12, 2025, 08:24:54 pm]
How do I access data memo...
by
TBMan
[January 12, 2025, 08:10:18 pm]
Out of heap
by
BubikolRamios
[January 12, 2025, 07:53:17 pm]
Where do I get IdHTTP, ...
by
Thaddy
[January 12, 2025, 07:03:36 pm]
TSQLQuery with lookup fie...
by
dpap
[January 12, 2025, 06:56:57 pm]
Vulnerabilities lurking i...
by
tetrastes
[January 12, 2025, 06:25:19 pm]
[Solved]Help needed with ...
by
cdbc
[January 12, 2025, 06:01:02 pm]
Large or huge sets
by
Thaddy
[January 12, 2025, 05:22:06 pm]
Compile auxilliary units ...
by
Thaddy
[January 12, 2025, 08:00:36 am]
Pascal and Musical Tones ...
by
Roland57
[January 12, 2025, 04:11:37 am]
Lazarus Release 3.6
by
dbannon
[January 12, 2025, 01:45:38 am]
doubled keypresses regist...
by
Bart
[January 12, 2025, 12:55:22 am]
Creating the Android RTL ...
by
Seenkao
[January 12, 2025, 12:24:30 am]
test if web site is valid
by
Thaddy
[January 11, 2025, 11:33:49 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: SetLength fall (Read 596 times)
LemonParty
Jr. Member
Posts: 98
SetLength fall
«
on:
December 04, 2024, 02:58:34 pm »
Can anyone explain why next program falling at line
SetLength(B, 10000);
?
Logged
Fibonacci
Hero Member
Posts: 643
Internal Error Hunter
Re: SetLength fall
«
Reply #1 on:
December 04, 2024, 03:05:29 pm »
Its failing at this line:
Code: Pascal
[Select]
[+]
[-]
procedure
Go
;
var
Buf
:
TMnistImg
;
i
,
j
,
k
:
Integer
;
begin
SetLength
(
A
,
60000
)
;
for
k
:
=
1
to
60000
do
begin
for
i
:
=
1
to
28
do
for
j
:
=
1
to
28
do
begin
if
IsNan
(
Buf
[
j
,
i
]
)
then
A
[
k
]
[
i
,
j
]
:
=
0.0
else
A
[
k
]
[
i
,
j
]
:
=
Buf
[
j
,
i
]
/
255
;
end
;
end
;
SetLength
(
B
,
10000
)
;
end
;
Fix:
Code: Pascal
[Select]
[+]
[-]
for
k
:
=
0
to
high
(
A
)
do
begin
Logged
marcov
Administrator
Hero Member
Posts: 11980
FPC developer.
Re: SetLength fall
«
Reply #2 on:
December 04, 2024, 03:08:59 pm »
Probably it is accessing A[60000] just before that line. Debugger sometimes stop on the line after the problem.
Setlength(N) creates elements from 0 to N-1 not 1 to N
Logged
LemonParty
Jr. Member
Posts: 98
Re: SetLength fall
«
Reply #3 on:
December 04, 2024, 03:29:35 pm »
Thank you. I had to watch carefully. I knew about 0-base arrays.
Logged
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
General
»
SetLength fall
TinyPortal
© 2005-2018