First off, this looks like the start of a very useful tool.
The problem I seem to have found is when a source
directory contains non-unit, non-program, non-anything
files that are just a block of code that is $INCLUDEd into
another source file. The said file, in my case, has a .PAS
extension and is thus flagged as an error such as:
Could not convert the unit: Expected program, package,
library, unit
Or
Could not convert the unit: Assertion failure (D:
\Projets\Ex\DelphiCodeToDoc\Source\Parse\BuildParseTre
e.pas, line 522)
I realize that this is bad structure, but I'm forced with
dealing with code that has a 20 year history.
Let me know if I need to elaborate on the problem.
-Brian
Anonymous
Logged In: YES
user_id=248829
Brian, if your file is not a unit nor a program, it shouldn't have
an ".pas" extension, but maybe a ".inc" one.
I can understand the issue, but the modification I can make
will depend on what YOU want :
simply ignore such file without exception.
Add support for $INCLUDE directive
* any other idea ?
Do you really these files in the documentation ? Because in
the revision to come, you will be able to select which files and
folders to add/remove, not only the whole root folder.
I wait some answer from your side.
TridenT
Logged In: YES
user_id=1074228
I agree with you that the source file shouldn't have the .PAS
extension. I don't know if this is a historical thing, or just plain
bad coding style but the fact is that I have to deal with this
code :(
The idea of changing the extensions is a good one, and would
require only a small amount of effort on my part. However,
having the option to choose which files to include sounds
much better. Even with this change, supporting the $INCLUDE
directive would still be necessary though.
So, in short I think that doing the following would solve my
particular problem:
- Support $INCLUDE directive
- Allow selection of which files to process
- (Optional) detect and mark files that are program/unit/etc. in
file selection dialog to make selection easier
I believe this would solve my issue without causing any
problems with well-written code ;)
-Brian