I've already read that its not built into pascal but how do I get around
this?
If you use AnsiStrings they should be always initialized (as far as I
know). But most other (and all selfdefined) types are not.
If you want to initialize a whole array in one step you can use:
fillchar(contacts,sizeof(contacts),#0);
which fills the whole array with zeros.
For the first element it could be
fillchar(contacts[1],sizeof(contacts[1]),#0);
But if you have an array with lots of shortstrings it may be more
efficient to do it as you wrote, because then only one byte per
shortstring (the length byte) is written.
Also if I am passing a var to a procedure how would use a pointer as
parameter?
To declare a var parameter you need to do this:
procedure JSMContactAdd(var contact : JSMContact);
Defining a var parameter tells the compiler to use the pointer to the
variable instead of coping it to a temporary (local) variable.
Jürgen Hestermann.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal