Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2010-06

Basic chm help creator (LHelpCreator)

6 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Žilvinas Ledas

Hello all,

as official MS chm compiler does not support Unicode, I decided that it would be easier to create my own simple app based on FPC chm package and use it with LHelp to display multilanguage and multiplatform help. As a result in last two days I have made simple GUI program to create chm help files. Screenshot from Windows:
http://www.dict.lt/LHelpCreator/LHelpCreator_screen.png but it should compile fine on all platforms.

Some points:
* It takes specified dir with all the files in it and compiles them to the chm archive (context ids and names can be assigned).
* TOC can be designed in program.
* Index is created from TOC (as a result: not very useful yet).
* Saves and loads project from xml file.
* Uses FPC chm package to compile. As a result needs FPC revision 15395 (can be separately applied - 3 lines of code) in order not to leak memory.

Would it be useful to add it to Lazarus? Would Lazarus developers be interested in it?

Windows binary with sample project:
http://www.dict.lt/LHelpCreator/LHelpCreator_source.zip Source: http://www.dict.lt/LHelpCreator/LHelpCreator_win_bin.zip

Regards
?ilvinas Ledas

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20100608/9aae75ce/attachment.html>

Reply by email

Bihar Anwar
to Žilvinas Ledas
?ilvinas Ledas wrote
As official MS chm compiler does not support Unicode, I decided that it

would
be easier to create my own simple app based on FPC

chm package and use

it with
LHelp to display multilanguage and

multiplatform help. As a result in last two days I have made simple GUI program to create

chm help
files. Screenshot from Windows:

compile
fine on all platforms.

Would it be useful to add it to Lazarus?

Would Lazarus developers

be

interested
in it?

Altough I'm not a Lazarus developer, I vote for your precious work.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20100611/227e954e/attachment-0001.html>

Reply by email

Marco van de Voort
to Žilvinas Ledas: as official MS chm compiler does not support Unicode, I decided that it would be easier…
??ilvinas Ledas wrote 6 lines
Some points: * It takes specified dir with all the files in it and compiles them to the chm archive (context ids and names can be assigned). * TOC can be designed in program. * Index is created from TOC (as a result: not very useful yet). * Saves and loads project from xml file.

Package chm's or an own?

* Uses FPC chm package to compile. As a result needs FPC revision 15395 (can be separately applied - 3 lines of code) in order not to leak memory.

(Will be in 2.4.2)

The program would IMHO make a nice demo, but the problem is that it is a lazarus using demo for a FPC (the CHM) package. We don't have a good place for that yet.

Reply by email

Žilvinas Ledas
to Marco van de Voort
Marco van de Voort wrote 12 lines
On Tue, Jun 08, 2010 at 12:05:12PM +0300, ??ilvinas Ledas wrote: > Some points: > * It takes specified dir with all the files in it and compiles them to > the chm archive (context ids and names can be assigned). > * TOC can be designed in program. > * Index is created from TOC (as a result: not very useful yet). > * Saves and loads project from xml file. > Package chm's or an own?

Own. I save TOC tree and file names (paths) with context ids so I needed own xml format. BUT now I think packages xml saving can be "reused" - It could be saved and afterwards additional info could be added (TOC tree info etc).

Show quoted text 9 lines
> * Uses FPC chm package to compile. As a result needs FPC revision 15395 > (can be separately applied - 3 lines of code) in order not to leak memory. > (Will be in 2.4.2) The program would IMHO make a nice demo, but the problem is that it is a lazarus using demo for a FPC (the CHM) package. We don't have a good place for that yet.

At first I thought it could be added to Lazarus as an additional tool. And yesterday I found that there is tools/chmmaker project, that aims to do similar thing (as usually - I find some things after implementing them). I tried to use that tools/chmmaker a little, but got some errors and decided to stick with my own implementation.

So, I will be using (and extending at least a little bit) my chm builder and if someone decides it can be added to some official repository - it will be nice to provide newest sources.

Regards
?ilvinas Ledas

Reply by email

Maxim Ganetsky
to Žilvinas Ledas

12.06.2010 21:27, ?ilvinas Ledas ?????:

Show quoted text 35 lines
On 2010-06-12 17:17, Marco van de Voort wrote: > On Tue, Jun 08, 2010 at 12:05:12PM +0300, ??ilvinas Ledas wrote: >> Some points: >> * It takes specified dir with all the files in it and compiles them to >> the chm archive (context ids and names can be assigned). >> * TOC can be designed in program. >> * Index is created from TOC (as a result: not very useful yet). >> * Saves and loads project from xml file. > Package chm's or an own? > Own. I save TOC tree and file names (paths) with context ids so I needed own xml format. BUT now I think packages xml saving can be "reused" - It could be saved and afterwards additional info could be added (TOC tree info etc). >> * Uses FPC chm package to compile. As a result needs FPC revision 15395 >> (can be separately applied - 3 lines of code) in order not to leak >> memory. > (Will be in 2.4.2) > > The program would IMHO make a nice demo, but the problem is that it is a > lazarus using demo for a FPC (the CHM) package. We don't have a good > place > for that yet. At first I thought it could be added to Lazarus as an additional tool. And yesterday I found that there is tools/chmmaker project, that aims to do similar thing (as usually - I find some things after implementing them). I tried to use that tools/chmmaker a little, but got some errors and decided to stick with my own implementation. So, I will be using (and extending at least a little bit) my chm builder and if someone decides it can be added to some official repository - it will be nice to provide newest sources.

Please create bug report so it won't be forgotten.

Best regards, Maxim Ganetsky mailto:

Reply by email

Marco van de Voort
to Žilvinas Ledas: Own. I save TOC tree and file names (paths) with context ids so I needed own xml format.…
??ilvinas Ledas wrote 10 lines
>> * TOC can be designed in program. >> * Index is created from TOC (as a result: not very useful yet). >> * Saves and loads project from xml file. >> > Package chm's or an own? > Own. I save TOC tree and file names (paths) with context ids so I needed own xml format. BUT now I think packages xml saving can be "reused" - It could be saved and afterwards additional info could be added (TOC tree info etc).

Note that the CHM xml format is not yet really "used", and I don't consider it stable. (if only because it doesn't support the full set that e.g. the MS helpfile compiler does, and changes will probably be necessary to fix that)

But, to make it easier for you, I just made several methods in filewriter virtual, which in theory would allow you to put your own shell over filewriter.

I also merged this, and all recent bugfixes (mostly yours) to the fixes branch, so that they will be in 2.4.2

The next plan is to start supporting #windows.

Reply by email