📄 index.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Language" content="en">
<meta name="author" content="Gerold Veith">
<meta name="description" content="JADD - Just Another DelphiDoc, automatic generation of documentation from Delphi source code; Javadoc and more for Delphi.">
<meta name="keywords" content="DelphiDoc, KylixDoc, JADD, Just Another DelphiDoc, DelphiDoc, Delphi, Kylix, JavaDoc, Documentation, Index, News, Contact, Imprint">
<meta name="DC.Language" content="en">
<title>
JADD - Just Another DelphiDoc - Automatic Generation of Documentation for
Delphi/Kylix-Projects
</title>
</head>
<body lang="en">
<p align=center>
<!-- local -->
<a href="http://sourceforge.net/"><img
src="sflogo.png"
width="210" height="62" border="0" alt="SourceForge.net Logo"
align="right"></a>
<!-- /local -->
<!-- public - -!
<a href="http://sourceforge.net/"><img
src="http://sourceforge.net/sflogo.php?group_id=113456&type=5"
width="210" height="62" border="0" alt="SourceForge.net Logo"
align="right"></a>
<!- - /public -->
Homepage: <a href="http://delphidoc.sourceforge.net/">http://delphidoc.sourceforge.net/</a><br>
Project-Page: <a href="http://sourceforge.net/projects/delphidoc/">http://sourceforge.net/projects/delphidoc/</a><br>
</p>
<br clear="all">
<div align=center lang="de">Eine <a href="index_de.html">deutsche
Version</a> ist ebenfalls verf黦bar
(veraltet, teilweise unvollst鋘dig).</div>
<h1>JADD - Just Another <em>DelphiDoc</em></h1>
<p>To <b>download</b> <em>DelphiDoc</em> please go to the
<a href="http://sourceforge.net/projects/delphidoc/">page of this
project</a> in the
<a href="http://sourceforge.net/project/showfiles.php?group_id=113456">section
of released Files</a>.<br>
You can also
<a href="http://sourceforge.net/project/filemodule_monitor.php?filemodule_id=122749">monitor
the project to get an e-mail</a> when a new version is released.</p>
<br>
<!-- Online demo FFII -->
<div align=center><a href="http://swpat.ffii.org/">Fight Software Patents</a> to
bolster free software and<br>
to make sure innovation will still stand for new ideas, and not for
protecting old ones!<br>
<!-- <img src="http://vrijschrift.org/swpat/art/sw_patent_ep689133_tabbed_dialogue.jpg"
border="0" alt="NO to software patents!"
height="306" width="463" /><br>
-->
This is also the case <a href="http://www.eff.org/patent/">in the USA
and everywhere</a>!</div>
<h2>Table of Contents</h2>
<ul>
<li><a href="#LatestNews">Latest News/Changes on
<em>DelphiDoc</em></a></li>
<li><a href="#Request">Requests</a></li>
<li><a href="#WhatIsThis">What is <em>DelphiDoc</em>?</a></li>
<li><a href="#DotNet">How compatible is <em>DelphiDoc</em> with Delphi 8+/.NET?</a></li>
<li><a href="#KylixSpecifics">What do I have to expect when using <em>Kylix</em>?</a></li>
<li><a href="#Issues">Main Issues</a></li>
<li>> <a href="changelog.html#ChangeLog">Change Log</a></li>
<li>> <a href="manual.html">The Manual</a></li>
<li>> <a href="files.html">Files used by this Program</a></li>
<li>> <a href="comments.html">The Comments</a></li>
<li>> <a href="options.html">Options of the Generators</a></li>
<li>> <a href="sourcecode.html">The Source Code</a> (if you want to compile it yourself)</li>
<li>> <a href="FAQ.html">FAQ - Frequently Asked Questions</a> (new, still rather empty)</li>
<li><a href="#Legal">Legal Stuff</a></li>
<li><a href="#Contact">Contact</a></li>
</ul>
<!-- public - -!
<p>There is <a href="survey/">a little survey</a> about
<em>DelphiDoc</em>, you can also watch the
<a href="survey/answers.php">result of it</a>.</p>
<!- - /public -->
<h2><a name="LatestNews">Latest News/Changes on <em>DelphiDoc</em></a></h2>
<!-- Remember to change date below! -->
<p>And again welcome to a new release.<br>
Not that much new in this one, and most of the changes can be summed up
with only two words: "image formats".</p>
<p>Support for other image formats has been added in several places. The
inline command <code><a href="comments.html#icimage">~[image ]</a></code>
now supports images in all registered graphic formats, but the file
extension has to be included in the file name for that, if none is
specified "<code>.bmp</code>" is still the default. Supported are
besides <code>.bmp</code> (Bitmap) also <code>.ico</code> (Icon),
<code>.wmf</code> (Windows Metafile), <code>.emf</code> (Enhanced
Metafile), <code>.png</code> (Portable Network Graphic), and
<code>.jpg</code> (JPEGs in the JFIF format). Additionally the HTML
generators also blindly copy files with extension <code>.gif</code>
(Graphics Interchange Format), <code>.svg</code> (Scalable Vector
Graphics), <code>.svgz</code> (compressed SVGs) and <code>.mng</code>
(Multiple-Image Network Graphics).</p>
<p>The images will not be re-converted if possible. This may actually lead
to some problems, for instance the PDF generator has some limitations in
handling PNG files (no alpha channel (without palette), no interlace,
must use zlib for compression, only 8-bits per color component),
the alpha channel is probably the only one ever raising any problems,
so it has to be removed before including the file via a PDF generator.
Gamma information and transparency information is lost in any case.
And I don't know how JPEG data in other file formats (like Exif or
SPIFF) will be handled. You might want to recompile <em>DelphiDoc</em>
with another JPEG library then that one shipping with Delphi.</p>
<p>Potential problems with images with the same name in different
directories have also been fixed by creating unique names for the
images.</p>
<p>The screen shots of forms to be used to generate help about the forms
can now also be in other formats. The file extension has just to be
specified with the option
"<a href="options.html#TCommentScanner.GUIScreenShotExtension">GUIScreenShotExtension</a>"
in category "GUIHelp" of the scanner of comments (has to be edited with
all options of all objects for the generation for the time being),
probably the main advantage is just to save some
<acronym title="Hard Disk Drive">HDD</acronym> storage space after
converting the huge bitmaps to PNG.<br>
The form to create the GUI log files and screen (window) shots also got
an option to save directly as PNG files, if you don't have or don't want
to use the unit "pngimage" in your project to support these PNG images,
you just have to comment out a define for conditional compiling in the
uses clause in the interface of the unit.</p>
<p>The external files showing the inter-dependence between the files and
the inheritance tree of classes and interfaces can now also be generated
as SVG (<a href="http://www.w3.org/TR/SVG/">Scalable Vector
Graphics</a>) images. SVG is an open, textual (XML-based) standard by
the W3C, it can be viewed directly with most internet browsers, the most
notable exception being the Internet Explorer, which needs a plug-in,
like the <a href="http://www.adobe.com/svg/viewer/install/main.html">Adobe
SVG Viewer</a>.<br>
For this output several new texts to be localized have been defined:<br>
"DocumentationLinkGetSVG1", "DocumentationLinkGetSVG2",
"DocumentationLinkSVGFiles", "ErrorSVGFileLinkHeader",
"ErrorSVGFileLink1", "ErrorSVGFileLink2",
"ErrorSVGFileLink3Pre", "ErrorSVGFileLink3Post",
"ErrorSVGFileLink4Pre", "ErrorSVGFileLink4Middle",
"ErrorSVGFileLink4Post", "ErrorSVGFileLink5",
"ErrorSVGFileLink6"<br>
The formats to be generated are now selected via the option
"<a href="options.html#TICDocumentDoc.GenerateFileAndClassesTreeFormats">GenerateFileAndClassesTreeFormats</a>",
which is a set and replaces the previous two boolean options. If the
documentation is generated in an HTML format, links will be included in
the SVG file directly to the documentation of the files and classes,
this can also be disabled via the option
"<a href="options.html#TICBaseHTMLDoc.GenerateFileAndClassesTreeSVGWithLinks">GenerateFileAndClassesTreeSVGWithLinks</a>".<br>
Windows Meta Files (.wmf) of these images are now also saved instead as
Enhanced Windows Meta Files (.emf).</p>
<p>Diagrams can also now be exported as EMF (and WMF) and SVG. The SVG
files can also contain direct links to the documentation in HTML format.
They can also be compressed (.svgz). The diagram generator got the
options
"<a href="options.html#TDiagramCreator.ExportImageType">ExportImageType</a>"
and
"<a href="options.html#TDiagramCreator.CharacterEncoding">CharacterEncoding</a>"
for this, but the format can more easily be selected by using the
appropriate file extension in the file name.</p>
<p>When generating documentation in one of the HTML formats the diagrams
created via the inline command
<code><a href="comments.html#icdiagram">~[diagram ]</a></code> can be
saved as Scalable Vector Graphics. The format can be set via the new
option
"<a href="options.html#TICBaseHTMLDoc.HTMLDiagramFormat">HTMLDiagramFormat</a>" -
PNG is still the default, and compressed SVGs are possible, too. The SVG
files also contain the links to the documentation of the classes and
files in the diagrams themselves rather than the HTML file showing them,
this can be disabled via the option
"<a href="options.html#TICBaseHTMLDoc.SVGDiagramsWithLinks">SVGDiagramsWithLinks</a>",
but that will probably not be a good idea.<br>
Sadly the results are not that promising in my tests yet, but I don't
have the newest versions of some softwares, so you should probably test
it yourself. Compressed SVGs are shown especially wrongly, Mozilla and
Opera don't recognize the compression for local files and try to parse
the compressed stream as an XML file, which of course fails miserably.
But even without compression the files still have a decent size.
Adobe's SVG Viewer plug-in for the Internet Explorer (and Netscape)
shines here again, although it can't show SVG images with a character
encoding "Latin-1" (maybe only "UTF-8"). Also the images are included
via iframes, which may make them less compatible with some (older)
browsers. I'm happy about any feedback about this feature.</p>
<p>Similarily when using
<code><a href="comments.html#icdiagram">~[diagram ]</a></code> in PDF
output, the diagrams will now be drawn directly in PDF and not be
included as an image. They can still be rendered as PNG images if the
option
"<a href="options.html#TICPDFDoc.DiagramsDirectlyAsPDF">DiagramsDirectlyAsPDF</a>"
is disabled, see there for a discussion of the advantages of not doing
that.</p>
<p>So much for the images and their formats. And now for something
completely different.</p>
<p>As the options of the generator objects grow more important and numerous
with each release, the main form to edit them has been improved somewhat
in this release. A small dialog to search options and a component
showing the documentation from the <a href="options.html">HTML
documentation</a> have been added.</p>
<p>And as promised in the last release it is now possible to use the inline
commands <code>~p</code>, <code>~br</code> and <code>~inheritDoc</code>
without the following brackets <code>[]</code>. This can be disabled via
the option "<a href="options.html#TJaddCommentData.OptionalCommandParameterBraces">OptionalCommandParameterBraces</a>",
but that is probably only needed if the option
"<a href="options.html#TJaddCommentData.ParamNamesAsSections">ParamNamesAsSections</a>"
is used. This is another step towards better Javadoc-compatibility, although it
doesn't probably matter until <code>@true</code>, <code>@false</code> and
<code>@nil/@null</code> are defined.</p>
<p>Generating help on forms without a help context no longer aborts the
generation with an assertion failure. The generators should use less
memory while generating (at least for now, might change in a few
releases when new features are added again, which will need the memory).
The old frame to show the messages of the generators has been added
again to be used with Kylix, and it compiles again after applying
<a href="sourcecode.html#Kylix">the usual changes</a>. And also as always
my warning, the old generators will soon vanish, and they haven't been
tested for several releases, so please use and test the new ones. And
finally thanks to 明保 王 for pointing out an error
in the code handling the hiding of scroll bars in read-only memos when
they are not needed.</p>
<!-- Remember to change date below! -->
<h3>Pre-Pre-Pre-Pre-Previous News (New Concept for Generators)</h3>
<p>The new generators are about 25% slower than the old ones and they
should also need significant more memory, because all comments will
be parsed first and held in it. But they should parse the comments in
a much cleaner way and also generate a much cleaner documentation.
They also have more power in evaluating the information inside the
comments, so new functionality can be added that was not possible in
the old system (like excluding identifiers based on their comment or
grouping identifiers of special topics together).<br>
The new system also uses more objects, the options of those can
currently only be edited with the button on the same page as the
button to generate the documentation, i.e. with all available options
in one big list (tree view). But luckily, as you should know, the
list can be filtered for each class.</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -