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

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


Hi,

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:

---------------------------------
 var
    s: PChar;
    wlst: PPChar;
    i: integer;
    n: integer;
  begin
      // 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
      begin
        writeln('     ', UTF8Decode(wlst^));
        Inc(wlst, SizeOf(Pointer));
      end;
    end;
---------------------------------


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/




More information about the fpc-pascal mailing list