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