[fpc-pascal] EAccessViolation

Sven Barth pascaldragon at googlemail.com
Thu Aug 13 23:44:39 CEST 2015


Am 13.08.2015 22:17 schrieb "Michael Van Canneyt" <michael at freepascal.org>:
>>  if (i=0) then begin
>>    writeln ('node was empty / non existant');
>>    exit;
>>  end;
>>  for c:=0 to i do
>>      writeln (node[c]);    // line 85
>
>
> This should be
>
>   for c:=0 to i-1 do
>
>       writeln (node[c]);    // line 85

Or alternatively

for c := Low(node) to High(node) do
  Writeln(node[c]);

Or:

for n in node do // n is a var declared as String
  Writeln(n);

Note: you can't modify array elements in the for-in-statement, as the
iterator variable merely contains a copy; however if the iterator variable
is a pointer type (or class/interface instance) then you can modify the
element's contents of course, but not the element itself (e.g. changing the
pointer value).

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20150813/f636d0fc/attachment.html>


More information about the fpc-pascal mailing list