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
A Tip for beginners
by
Thaddy
[
Today
at 03:07:02 pm]
Migrate vb.net to Lazarus...
by
gidesa
[
Today
at 02:50:02 pm]
Amigo programming languag...
by
maurog
[
Today
at 02:47:35 pm]
Component text property i...
by
Josh
[
Today
at 02:27:53 pm]
Spaces are allowed here ?
by
MarkMLl
[
Today
at 02:20:26 pm]
GR32 GR_Bindings problem
by
marcov
[
Today
at 01:46:06 pm]
Sorting stringgrid
by
PeterX
[
Today
at 01:38:34 pm]
Reading/writing Excel fil...
by
dmytro
[
Today
at 12:59:32 pm]
Artificial intelligence
by
Thaddy
[
Today
at 12:56:08 pm]
[Solved] Width of Project...
by
Wilko500
[
Today
at 12:42:21 pm]
[SOLVED] Component event ...
by
n7800
[
Today
at 07:04:52 am]
FPC 3.2.4, naming suggest...
by
dbannon
[
Today
at 06:31:58 am]
What is a status of fpGUI...
by
Fred vS
[
Today
at 05:52:24 am]
SDL2 image rotation Probl...
by
TRon
[
Today
at 12:39:30 am]
Looking For Lazarus Tutor...
by
cdbc
[January 18, 2025, 10:32:29 pm]
Fatal: Cannot find Contro...
by
Soner
[January 18, 2025, 09:58:44 pm]
Restoring minimized scree...
by
Soner
[January 18, 2025, 09:41:16 pm]
[SOLVED] SetPart ?
by
BubikolRamios
[January 18, 2025, 08:51:31 pm]
[SOLVED] Operators overri...
by
ackarwow
[January 18, 2025, 07:55:54 pm]
Programs writing programs...
by
MarkMLl
[January 18, 2025, 07:50:40 pm]
How to add new methods to...
by
jmpessoa
[January 18, 2025, 07:27:22 pm]
Preparing FPC 3.2.4, poin...
by
Fred vS
[January 18, 2025, 06:09:48 pm]
TSelectDirectoryDialog do...
by
krzynio
[January 18, 2025, 05:57:40 pm]
Iterator on non-existing ...
by
PascalDragon
[January 18, 2025, 05:08:52 pm]
const declaration
by
PascalDragon
[January 18, 2025, 05:05:55 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: SetLength fall (Read 637 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: 646
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: 11987
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