[fpc-pascal] Unknown runtime error 202
Vinzent Höfler
JeLlyFish.software at gmx.net
Wed Jul 26 18:34:59 CEST 2006
Wolfram Kläger wrote:
> I had this error two or three times these days. I managed to get rid
> of it by moving a local method variable to a field. Example:
>
> class.method
> var
> d3 : array[ .., .., ..] of ...
> begin
> ...
>
> Works, if length(d3) < unknown limit. When I get the unknown runtime
> error 202 instead, I rearrange d3 to
>
> ... class
> private
> Fd3 : array ...
>
> Then it works again. Apparently for unlimited array sizes. But what is
> the secret, where is the limit? And if this secret / limit is known,
> why the error is not?
Well, I don't know why exactly it is displayed as "Unknown runtime
error", but I hit that several times myself. Fortunately I still
remember the good old Turbo Pascal days, where number 202 was a stack
overflow error, and from my findings - when it happened to my code - it
still is. Highly recursive routines with a wrong or even missing
termination condition have never been a good idea. ;)
To answer your question: According to the documentation, the size of the
local variables (allocated on the stack) should not exceed 32 KiBytes
for portability reasons. So if you need more, it just depends on how
much the target architecture is able to supply.
So it's probably a better idea to allocate anything larger than that
from the heap.
Vinzent.
More information about the fpc-pascal
mailing list