[fpc-pascal] Pointer to an array of PChar strings

Graeme Geldenhuys graemeg.lists at gmail.com
Tue Jan 19 15:29:06 CET 2010


I'm working with a C library that returns an array of strings. So that is
type PPChar.  I C library does the array allocation, but doesn't do the
freeing of the array.

How am I supposed to free an array of PChar strings? I think I need to
improve my iteration too, because I'm moving the pointer of wlst, so I
probably need to make a backup of the original pointer before the iteration.

My code looks as follows:

    s: PChar;
    wlst: PPChar;
    i: integer;
    n: integer;
      // Returns an array of PChar strings. i = number of elements in array
      i := Hunspell_suggest(SpellPtr, wlst, s);
      if i > 0 then
        writeln(Format('  %d suggestions:', [i]));
      for n := 1 to i do
        writeln('     ', UTF8Decode(wlst^));
        Inc(wlst, SizeOf(Pointer));

  - Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal

More information about the fpc-pascal mailing list