[Lazarus] Problem with Includes during Design Time

Andrew Brunner andrew.t.brunner at gmail.com
Sat Aug 15 20:50:13 CEST 2009


On Sat, Aug 15, 2009 at 10:52 AM, Mattias
Gaertner<nc-gaertnma at netcologne.de> wrote:
>
> Where is uTempSearchUserInteractionDefinitions.inc?
> What is the exact file path?

/mnt/Developer/Source/Projects/SCS/Stored/ is the path to the unit
file and it's includes which are many included in the unit.  Its
folder has 74 items all but one (the unit) and it's includes.

>> My -Fi options and Other Sources Options both contain
>>
>>    $Env(BUILD_SOURCE_STORAGE_SCS)/
>>
>> Pulled from ENV
>>      BUILD_SOURCE_STORAGE_SCS=/mnt/Developer/Source/Projects/SCS/Stored
>
> There is a directory "Stored" at the end, that is not in the above file.

No, the -FI options work.  The bug would be with Lazarus not reading
or accepting ENV variables as vaild PATHs.

>> This just started happening... I would assume right after I had edited
>> the project using the Project Inspector... I wanted to remove those
>> auto-assigned units from the main project file.
>
> What do you mean with auto-assigned units?

Yes.  It was b/c uStorage.pas was a unit added to the project itself
which in turn resulted in the path being added the include paths.  And
when I go to the project inspector I can duplicate the error EVERY
time by removing the uStorage.pas unit from the project.


>> I can build the project just find... I just can't do anything with the
>> main form in Designer IDE...
>>
>> uStorage.Pas and the INC file are located at BUILD_SOURCE_STORAGE_SCS
>> path which is confirmed in the environment variable.
>
> If the include file is in the same directory as the file that contains
> the include directive (I guess this is here the case), then it should
> find the include file even without any search path.
> Unless you added some subpath to the include directive or the case does
> not match.
> What is the exact file name of the unit, the include file and what
> exactly is your include directive?


things like are included in the uStorage.pas unit  {$i
uTempSearchUserInteractionDefinitions.inc} It would be wise to note
that FPC has no issue actualy building the project... This is a
Lazarus only issue that can be consistently duplicated. (see above for
duplication)

> You can see the include search path of every file in source editor's
> popup menu / file settings / unit info / include paths.

Yes indeed ".../Stored/" the path is listed paths here BUT only when I
add the unit to the project and NOT by the Compiler options page
setting of $Env(BUILD_SOURCE_STORAGE_SCS)/ which tells me this is
where the problem is.


>> What could cause the CodeToolManager to throw this exception and place
>> the curser in the uStorage.pas unit at that line even though the paths
>> are established?

>> The only thing I had done before that was to clean up (remove) some
>> units from the main project using the project inspector that were
>> automatically added to the project.
>
> Mattias

Yes.  All I did to get the project to work in the IDE was to re-add
the uStorage.pas unit to the actual project which in turn caused
Lazarus to start scanning that folder for the includes.

Thanks for your thoughts.  I'm able to continue but this is a bug.




More information about the Lazarus mailing list