[fpc-pascal] unit system; procedure move();
Pete Cervasio
cervasio at airmail.net
Mon Mar 17 19:21:05 CET 2008
On Monday 17 March 2008 06:40:51 Jonas Maebe wrote:
> On 17 Mar 2008, at 12:34, fpc at xgelb.de wrote:
> > Is the use of the move procedure right? The array length is
> > Maximum-1. When I
> > put this length on value[1], the last entry value[Maximum-1] would
> > be deleted
> > or would be shifted in an different memory area?
>
> It would overwrite whatever is placed in memory after the array
> (which, in case there is nothing, indeed causes an access violation).
> Use this instead:
> move(values[0],values[1],(Maximum-1)*sizeof(single));
> values[0]:=sameothervalue;
Wouldn't it be better to use the length function on the array? Or does that
not work in some compiler modes?
move(values[0], values[1], (length(values)-1) * sizeof(single));
If the size of the array is ever changed, no code change is required.
Best regards,
Pete C.
More information about the fpc-pascal
mailing list