I'm trying to use helpdeco 2.1.3 on a Debian 5.03 machine to extract some old Borland Delphi 3 ( & 7) documentation. It segfaults fairly often, like on 5 files out of 21. I set up a little script to move each to an individual directory and run helpdeco on it (using the /r flag). I thought it was related to the size of the file, but I'm seeing it on files from 548 k to 11 megs. One is win32.hlp 11279097 bytes from March 24 1997, I think it's the only one that isn't Delphi-specific and someone might have lying around to test. I don't know RTF but looking at the file it's fairly obvious that something's left open at the end in each case.
My case isn't any big deal since I don't know what I'm going to do with the RTF yet anyway. I'm trying to use Delphi under Wine, and with Wine Gecko in it's present state searching the help index doesn't work yet and rendering the HTML doesn't work right. I'm looking for a way to get HTML from HLP files, so the first step is to get them out of HLP format. I'm also retired and wanted to look at Windows sound API stuff for a ham radio project so it's not that important in the grand scheme of things. Writing an RTP parser to read help files is pretty far removed from what I started out to do: it would be easier to set up a Windows box.
I get some compiler (GCC 4.3.2) warnings aboout invalid pointer types on pointers you're already typecasting, which I'd be tempted to ignore until it started segfaulting. I don't know if there's some upper limit on topics or images I can change. The Delphi3.hlp file dies at 77 topics, but it's made 347 BMP files at that point.
There's a good sample of Windows API hlp files at http://www.carabez.com/downloads/win32api_big.zip which is 25 megs zipped with a self-extracting file inside that. I haven't tried them yet, I'm still working with the ones that came with Delphi 3.
I'm not sure if this project is still active or not. Mostly it seems to work fairly well.
Alan Corey, AB1JX
crash on WIN32.HLP
The WIN32.HLP crash is fixed in commit [daa7f7]
Related
Commit: [daa7f7]
Fixed in version 2.1.4