On 13 Aug 2015 10:15 PM, "Chris Moody" <inqu...@greensnakedesign.com> wrote:
>
> Hi all,
>
> I have this procedure in my program:
>
> procedure DisplayNode (var node:astring);
> var c, i:integer;
> begin
>   i:=SizeOf(node);
>   if (i=0) then begin
>     writeln ('node was empty / non existant');
>     exit;
>   end;
>   for c:=0 to i do
>       writeln (node[c]);    // line 85
> end;
>
> astring is an Array of String
>
> The code compiles fine, however when I run it I get:
>
> An unhandled exception occurred at $0000000000400B3A :
> EAccessViolation : Access violation
>   $0000000000400B3A line 85 of Dentist.pas
>   $0000000000400C8C line 95 of Dentist.pas
>
> Line 85 is the writeln above, line 95 is where I call this procedure from
the main code.
>
> How do I track down what is going on?
>
> If your familiar with PHP, my purpose of this procedure is to basically
emulate the following code:
> <pre><?php print_r (node); ?></pre>
>
> Thanks in advance,
>
> Chris

SizeOf(node) will return the size of the pointer to node. I suspect you
want to loop over elements in an array so use length(node) to find out the
number of elements in node.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to