Compilation of Windows Help file fails - insufficient memory
Brought to you by:
gveith
Hello Mr. Weith,
the following messages appear when I try to generate
a documentation with the newest version (1.7.1.332)
of your program. The project, for which the
documentation is being generated, has less than 300
PAS-files. The previous version of your software I
used (1.6.0.289) generated the documentation for this
particular project with no registered problems.
Kind regards and thank you in advance,
Michael Medved
Software Developer - Planat GmbH
michael.medved@planat.de
HCRTF- and JADD- error messages
Logged In: YES
user_id=1075015
Hello,
for what I can see only a few changes were made to the
generator. So either your project grew a little bit and the
generated Help file crosses now one of the limits of the
format or one of those slight changes done to the generator
brought it to that point. If that is the case, the only
possible thing I can see to have caused that is the adding
of the scope symbols to the documentation, although it is
always the same file and I couldn't see how that raises the
memory consumption that much. On the other hand the error
messages of help compiler are not that
usefull/differentiated. You could try to remove the symbols,
but you have to compile DelphiDoc yourself to change it:
In Generator\UWinHelpDoc.pas comment out the line 1807 and
in line 2267 the third parameter.
On the other hand, if I try to generate the the
documentation about the Delphi 4 sources with only around
163 files the help compiler crashes (HCRTF verursachte einen
Fehler durch eine ungültige Seite in Modul FTSRCH.DLL bei
017f:7d452751.).
Although of course this documentation contains much more
cross reference information than that of any normal project.
So another way could be to reduce the complexity and the
number of references in the help file. You can filter out
sections of the documentation you don't want to use. The
options of the generator in the category "Generation.Filter"
may be helpful for that, "DocumentationSectionsFilter",
"FilterCommentSections", "FileSectionsFilter" and
"IdentifierSectionsFilter" especially, but you could also
filter identifiers you don't need documented.
Best regards,
Gerold Veith
Logged In: NO
Hello Mr. Weith,
thank you very much for your prompt reply.
"Generation.Filter" indeed helped; in fact, the magic word
was "OnlyPublicIdentifiers=True", and I didn't even need
to recompile your program.
One new question - once the help is generated, the
problematic places are being listed in a "Generating
Messages" section. Is it possible to save this list in a
TXT file? I think this was the case in 1.6.0.289, and now
there is no such entry in the popup menu.
Kind regards and thank you in advance,
Michael Medved
Software Developer - Planat GmbH
michael.medved@planat.de
Logged In: YES
user_id=1075015
Hello,
no, there is currently no way inside the program to save the
messages. The pop up menu was lost when the transition to
the new GUI happened, the current pop up menu was only added
in the most recent version again to filter the messages. But
I will add the menu items for boths lists in the next
release so the messages can be copied and saved again.
I guess till than there are a few way around, you could
implement it yourself, you could use the Windows API to
extract the items with the handle of the ListBox with an
external program, or you could use the command line version.
It will dump all messages when finished, so as soon as you
managed to parameterize it right, you could redirect the
output in a file, for instance I use the following
parameters in Delphi for testing:
-p dd.ddp -d .\_doc -g TWinHelpDoc -o
AutoLaunchDocumentation=true -o AutoCompileHelpProject=1
where dd.ddp is a project file saved from the GUI version
(you can also save the options of the generator(s) in it).
So when everything works add as the _first_ parameter
"-auto", so it won't wait for a key when finished (you won't
see the prompt, it'll be redirected, too), and add "-R", so
the file isn't scattered with the progress bar, and finally
something like ">delphidoc.log" (I hope the greater-than
character is not swallowed by the forum software).
The log file will then contain: first the parsing messages,
then the list of all encountered "unknown identifiers" and
finally all messages of the generator. You could even add
these command line to the "Tools" - menu of Delphi too call
it quickly, but please remember to also set the working
directory or you may not find the log file again.
Best Regards,
Gerold Veith
PS: It's a V not a W.
Logged In: YES
user_id=1312539
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 22 days (the time period specified by
the administrator of this Tracker).