We will examine the bug reports, thank you.
The .pack and .ph files in your library should have paths that are relative to the include directory in your project.
Consider PFC as an example. In your projects
$(ProDir) is an include directory, and all the PFC lives relative to $(ProDir). So the file
$(ProDir)\pfc\application\Exe\exe.ph looks like this:
Code: Select all
#requires @"pfc\application\Exe\exe.pack"
% publicly used packages
#include @"pfc\core.ph"
#include @"pfc\exception\exception.ph"
#include @"pfc\windowsApi\exe_api\exe_api.ph"
% exported interfaces
% exported classes
#include @"pfc\application\Exe\mainExe.cl"
When the compiler reads #include @"pfc\core.ph", it look at the include directories from top to bottom in the list:
- . (= the project directory): if .\pfc\core.ph exists that is the one to use.
- ..\..\somepath (relative to the project directory): if ..\..\somepath\pfc\cre.ph exists that is the one to use.
- ...
- $(ProDir): $(ProDir)\pfc\core.ph does exist, so if a mfile is not found above, this is the one to use.
The IDE take your include directories into account when it creates new packages/classes/dialogs/etc, and makes the include directories correct.
It is not such a bad idea to create a new class, corresponding to the one you already have because the IDE will then create .ph and .pack files with correct include directives in. From your backup

you then restore the .i .cl and .pro files (the last step is actually not necessary, if you answer correct when the IDE ask to overwrite or reuse existing files).