[fpc-pascal] How create a full text search with TChmWriter?

Mattias Gaertner nc-gaertnma at netcologne.de
Tue Feb 21 16:08:43 CET 2012


Andrew Haines <andrewd207 at aol.com> hat am 21. Februar 2012 um 15:24
geschrieben:

> On 02/21/2012 03:18 AM, Mattias Gaertner wrote:
> > On Mon, 20 Feb 2012 23:59:18 -0500
> > Andrew Haines<AndrewD207 at aol.com>  wrote:
> >
> >>
> >> 30% bigger than the size of the uncompressed html files?!
> > Yes.
>
> does lazarus/docs/html/build_lcl_docs --outfmt chm work for you?


Bingo. It does not:

Generating Table of contents...
Generating Index...
Finishing compressing...
Exception at 000000000050057F: EAccessViolation:
Access violation.

docs/html/lcl/lcl.chm is 0 bytes.



> I get a 8mb lcl.chm file. if --outfmt html then the lcl folder has 74mb
> of html files.
>
> Your chm file should not be bigger than the the uncompressed files
> unless you are writing only
> a couple of tiny html files.


I have a few thousand html files, about 10k on average.



>[...]
> You said in another mail that you are writing the html files from
> memory. (You must have a good memory! ;)


Yes. It generates the html on the fly.





> I guess then you are using AddStreamToArchive.


No. I set
    Writer.OnGetFileData :=@OnWriterGetFileData;
And in OnWriterGetFileData I write the html into the stream.



> FullTextSearch must be set before this is called because the files are
scanned as you add them. Also AddStreamToArchive
> has a default parameter Compress: Boolean, are you setting this to false?
>
> PostAddStreamToArchive should only be used inside code called from the
> OnLastFile callback.
>
> Can you send me the non working example.chm?


I will do later at home.

Mattias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20120221/98906547/attachment.html>


More information about the fpc-pascal mailing list