[fpc-pascal] How to free memory allocated by C++ library
Jorge Aldo G. de F. Junior
jagfj80 at gmail.com
Thu Jun 2 04:45:22 CEST 2011
generally, the library itself exports a symbol capable of freeing
allocated memory...
can you find any reference to a delete function in this lib ?
2011/6/1 Malcolm Poole <malcolm at lingua-z.co.uk>:
> Working from the instructions in CinFreepascal.pdf (
> ftp://ftp.freepascal.org/pub/fpc/docs-pdf/CinFreePascal.pdf ) I have written
> an interface library to the C++ library libtesseract (
> http://code.google.com/p/tesseract-ocr ).
>
> Everything appears to work well but I am unsure about how to free memory
> which has been reserved by a libtesseract function and returned as a result.
> The original documentation states that "The calling function must delete []
> after use", but the application crashes with an Access Violation if I try to
> free the memory with Dispose or Freemem. I can confirm that the array of
> Integer pointed to by the result of tesseract_AllWordConfidences contains
> valid data.
>
> I would be grateful for any help.
>
> - Malcolm
>
> -------------
>
> Freepascal declaration and code snippet:
> function tesseract_AllWordConfidences( APIHandle: TTesseract ): PInteger;
> stdcall; external LIBTESSINTF;
>
> var
> conf: PInteger;
> FTesseract: TTesseract;
> begin
> ...
> conf := tesseract_AllWordConfidences(FTesseract);
> ...
> end;
>
> ====
>
> C function, and documentation from C++ baseapi.h
>
> /**
> * Returns all word confidences (between 0 and 100) in an array, terminated
> * by -1. The calling function must delete [] after use.
> * The number of confidences should correspond to the number of space-
> * delimited words in GetUTF8Text.
> */
> extern int* EXPORTCALL tesseract_AllWordConfidences(tessHandle APIHandle){
> return APIHandle->AllWordConfidences();
> }
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
More information about the fpc-pascal
mailing list