Class exporter now a pre-build task
DCL to CML changes under way
We've copied the DCL docs to this new location and are still in the process of scrubbing the pages and fixing all the text and links. If you notice anything amiss feel free to please post a comment at the bottom of the page. Thanks!
In the process of refactoring the DCL_System_IO_AsciiFile class I wrote a new class called DCL_System_Pool. Ordinarily I start with unit tests, but in this case I'd got in too far and I'd broken the DCL compile so I dove in, wrote the pool class, got the compile going again and then wrote some tests after the fact. Not ideal, but not uncommon either.Â
When I attempted to compile my unit test app I got the following errors:
No surprise there - I hadn't yet added a statement to my CreateDCLExportFile utility to include DCL_System_Pool.inc file.Â
Which meant after I did that I'd have to recompile and run CreateDCLExportFile, and then I'd have to rebuild DevRoadmapsClarion.Â
More unnecessary work.Â
There's no good reason to hand code the names of the class header files to be parsed, so I modified CreateDCLExportFile.clw to read that information from a file called ClassHeadersToExport.txt. Then I set CreateDCLExportFile as a pre-build task for DevRoadmapsClarion.
Now all I need to do to add new exports to DevRoadmapsClarion is add one line to a text file. The pre-build task also ensures that the compile always picks up the latest prototype changes/additions.Â
There's at least one more thing that I should do with CreateDCLExportFile, and that's generalize it fully so it can be used without change to create export files for any library, not just DCL. But that will have to wait for another day.Â
This modification is available via the GitHub repository.