Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2013-02

Clearing a project

16 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mark Morgan Lloyd

Is there an easy way of clearing all stored state out of the .lps/lpi files, i.e. leaving no history of opened units/forms etc. except possibly a reference to the .lpr or the main-form unit?

I'm mindful of my current issue with files being referenced over different paths (when such a thing is possible, e.g. because of the presence of symlinks) but also it would seem like a good thing to do before publishing a project as source.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Mark Morgan Lloyd

Mark Morgan Lloyd hat am 4. Februar 2013 um
12:08 geschrieben:

Is there an easy way of clearing all stored state out of the .lps/lpi files, i.e. leaving no history of opened units/forms etc. except possibly a reference to the .lpr or the main-form unit?

You can save session data separate in the lps file. Close project, delete lps, open project.

I'm mindful of my current issue with files being referenced over different paths (when such a thing is possible, e.g. because of the presence of symlinks) but also it would seem like a good thing to do before publishing a project as source.

Do you mean
Project / Publish Project
?

Mattias

Reply by email

Mark Morgan Lloyd
to Mattias Gaertner
Mattias Gaertner wrote 8 lines
Mark Morgan Lloyd hat am 4. Februar 2013 um 12:08 geschrieben: > Is there an easy way of clearing all stored state out of the .lps/lpi > files, i.e. leaving no history of opened units/forms etc. except > possibly a reference to the .lpr or the main-form unit? You can save session data separate in the lps file. Close project, delete lps, open project.

Did that yesterday, but it still leaves at least one file in the .lpi (which was the one that we didn't want saved, under the circumstances).

Show quoted text 7 lines
> I'm mindful of my current issue with files being referenced over > different paths (when such a thing is possible, e.g. because of the > presence of symlinks) but also it would seem like a good thing to do > before publishing a project as source. Do you mean Project / Publish Project

I was thinking about the general case, including svn to a public repository such as Berlios.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Mark Morgan Lloyd

Mark Morgan Lloyd hat am 4. Februar 2013 um
13:01 geschrieben:

Show quoted text 13 lines
Mattias Gaertner wrote: > Mark Morgan Lloyd hat am 4. Februar 2013 > um > 12:08 geschrieben: >> Is there an easy way of clearing all stored state out of the .lps/lpi >> files, i.e. leaving no history of opened units/forms etc. except >> possibly a reference to the .lpr or the main-form unit? > > You can save session data separate in the lps file. > Close project, delete lps, open project. Did that yesterday, but it still leaves at least one file in the .lpi (which was the one that we didn't want saved, under the circumstances).

What was left, what should not be there?

Show quoted text 10 lines
>> I'm mindful of my current issue with files being referenced over >> different paths (when such a thing is possible, e.g. because of the >> presence of symlinks) but also it would seem like a good thing to do >> before publishing a project as source. > > Do you mean > Project / Publish Project I was thinking about the general case, including svn to a public repository such as Berlios.

The lps is normally not stored in the svn repository.

Mattias

Reply by email

Mark Morgan Lloyd
to Mattias Gaertner
Mattias Gaertner wrote 15 lines
Mark Morgan Lloyd hat am 4. Februar 2013 um 13:01 geschrieben: > Mattias Gaertner wrote: >> Mark Morgan Lloyd hat am 4. Februar 2013 >> um >> 12:08 geschrieben: >>> Is there an easy way of clearing all stored state out of the .lps/lpi >>> files, i.e. leaving no history of opened units/forms etc. except >>> possibly a reference to the .lpr or the main-form unit? >> You can save session data separate in the lps file. >> Close project, delete lps, open project. > Did that yesterday, but it still leaves at least one file in the .lpi > (which was the one that we didn't want saved, under the circumstances). What was left, what should not be there?

If I do a close-all, save-all, exit and then delete the .lps, when I bring up Lazarus it's displaying a tab DbConfigCode2 pointing at the "incorrect" /usr/local/src/inifiles/trunk/dbconfigcode2.pas.

The issue in this case appears to be that in the .lpi file there's

<Units Count="13">
..
<Unit12>
<Filename Value="..\..\inifiles\trunk\dbconfigcode2.pas"/> <IsPartOfProject Value="True"/>
<ComponentName Value="DbConfigFrame"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Frame"/>
<UnitName Value="DbConfigCode2"/>
</Unit12>
</Units>

which, if I understand things correctly, shouldn't be there since I've enables .lps support.

Show quoted text 10 lines
>>> I'm mindful of my current issue with files being referenced over >>> different paths (when such a thing is possible, e.g. because of the >>> presence of symlinks) but also it would seem like a good thing to do >>> before publishing a project as source. >> Do you mean >> Project / Publish Project > I was thinking about the general case, including svn to a public > repository such as Berlios. The lps is normally not stored in the svn repository.

I know, but as I've said above there's a list of units stored in the .lpi as well. How does one clear this?

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Mark Morgan Lloyd
Show quoted text 37 lines
Mattias Gaertner wrote: > Mark Morgan Lloyd hat am 4. Februar 2013 um > 13:01 geschrieben: >> Mattias Gaertner wrote: >>> Mark Morgan Lloyd hat am 4. Februar 2013 >>> um >>> 12:08 geschrieben: >>>> Is there an easy way of clearing all stored state out of the .lps/lpi >>>> files, i.e. leaving no history of opened units/forms etc. except >>>> possibly a reference to the .lpr or the main-form unit? >>> You can save session data separate in the lps file. >>> Close project, delete lps, open project. >> Did that yesterday, but it still leaves at least one file in the .lpi >> (which was the one that we didn't want saved, under the circumstances). > > What was left, what should not be there? If I do a close-all, save-all, exit and then delete the .lps, when I bring up Lazarus it's displaying a tab DbConfigCode2 pointing at the "incorrect" /usr/local/src/inifiles/trunk/dbconfigcode2.pas. The issue in this case appears to be that in the .lpi file there's <Units Count="13"> .. <Unit12> <Filename Value="..\..\inifiles\trunk\dbconfigcode2.pas"/> <IsPartOfProject Value="True"/> <ComponentName Value="DbConfigFrame"/> <HasResources Value="True"/> <ResourceBaseClass Value="Frame"/> <UnitName Value="DbConfigCode2"/> </Unit12> </Units> which, if I understand things correctly, shouldn't be there since I've enables .lps support.

The above data are *not* session data. Session data is what file is open, cursor position, break points, jump history, .... The above lpi tells, that "..\..\inifiles\trunk\dbconfigcode2.pas" belongs to the project.
The Project Inspector will show the same.
You can remove this file from the project via the Project Inspector or Project / Remove from Project.

Show quoted text 13 lines
>>>> I'm mindful of my current issue with files being referenced over >>>> different paths (when such a thing is possible, e.g. because of the >>>> presence of symlinks) but also it would seem like a good thing to do >>>> before publishing a project as source. >>> Do you mean >>> Project / Publish Project >> I was thinking about the general case, including svn to a public >> repository such as Berlios. > > The lps is normally not stored in the svn repository. I know, but as I've said above there's a list of units stored in the .lpi as well. How does one clear this?

This list gives the IDE the clues what files are important and what not. So, you should not clear it, you should clean it up and add all missing project units. For example via the Project Inspector.

Mattias

Reply by email

Mark Morgan Lloyd
to Mattias Gaertner
Mattias Gaertner wrote 6 lines
> I know, but as I've said above there's a list of units stored in the > .lpi as well. How does one clear this? This list gives the IDE the clues what files are important and what not. So, you should not clear it, you should clean it up and add all missing project units. For example via the Project Inspector.

I'm sorry, I took my eye off the ball since I was still looking at the stored paths.

One final question if I may: if the .lps has been deleted, what controls the IDE's choice of which unit to open when it starts? It looks as though it currently opens the most-recently-added unit, is it possible to change this to be the first-added unit on the basis that this is most likely to be in the project directory, or to open the .lpr as probably the safest choice?

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Mark Morgan Lloyd
Show quoted text 18 lines
Mattias Gaertner wrote: >> I know, but as I've said above there's a list of units stored in the >> .lpi as well. How does one clear this? > > This list gives the IDE the clues what files are important and what not. > So, you should not clear it, you should clean it up and add all > missing project units. For example via the Project Inspector. I'm sorry, I took my eye off the ball since I was still looking at the stored paths. One final question if I may: if the .lps has been deleted, what controls the IDE's choice of which unit to open when it starts? It looks as though it currently opens the most-recently-added unit, is it possible to change this to be the first-added unit on the basis that this is most likely to be in the project directory, or to open the .lpr as probably the safest choice?

Please test with 40191.

Mattias

Reply by email

Mark Morgan Lloyd
to Mattias Gaertner
Mattias Gaertner wrote 21 lines
On Tue, 05 Feb 2013 09:12:35 +0000 Mark Morgan Lloyd wrote: > Mattias Gaertner wrote: > >>> I know, but as I've said above there's a list of units stored in the >>> .lpi as well. How does one clear this? >> This list gives the IDE the clues what files are important and what not. >> So, you should not clear it, you should clean it up and add all >> missing project units. For example via the Project Inspector. > I'm sorry, I took my eye off the ball since I was still looking at the > stored paths. > > One final question if I may: if the .lps has been deleted, what controls > the IDE's choice of which unit to open when it starts? It looks as > though it currently opens the most-recently-added unit, is it possible > to change this to be the first-added unit on the basis that this is most > likely to be in the project directory, or to open the .lpr as probably > the safest choice? Please test with 40191.

Nice, and I think it fixes the naming issue from our earlier discussion (but testing continues).

FYI, looking at a freshly-created (after correcting the intentional error I'd left in one unit) .lps I notice

<Unit0>
<Filename Value="HeavyWethers.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="HeavyWethers"/>
<UsageCount Value="20"/>
</Unit0>
<Unit1>
<Filename Value="heavywetherscode.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="HeavyWethersForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="HeavyWethersCode"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
..
<Unit12>
<Filename Value="../../inifiles/trunk/dbconfigcode2.pas"/> <IsPartOfProject Value="True"/>
<ComponentName Value="DbConfigFrame"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Frame"/>
<UnitName Value="DbConfigCode2"/>
<UsageCount Value="20"/>
</Unit12>
<Unit13>
<Filename Value="../inifiles/trunk/dbconfigcode2.pas"/> <ComponentName Value="DbConfigFrame"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Frame"/>
<UnitName Value="DbConfigCode2"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="4"/>
<CursorPos X="4" Y="22"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit13>

where if I (finally) understand things correctly Unit0...Unit12 are describing the files in the project and Unit13 is describing the file that is open on the screen. The only reason I mention this is that the two units that are open are HeavyWethersCode (one entry in the list above) and DbConfigCode2 (two entries in the list, with different paths)... please ignore me if this is intentional :-)

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Mark Morgan Lloyd
Show quoted text 82 lines
Mattias Gaertner wrote: > On Tue, 05 Feb 2013 09:12:35 +0000 > Mark Morgan Lloyd wrote: > >> Mattias Gaertner wrote: >> >>>> I know, but as I've said above there's a list of units stored in the >>>> .lpi as well. How does one clear this? >>> This list gives the IDE the clues what files are important and what not. >>> So, you should not clear it, you should clean it up and add all >>> missing project units. For example via the Project Inspector. >> I'm sorry, I took my eye off the ball since I was still looking at the >> stored paths. >> >> One final question if I may: if the .lps has been deleted, what controls >> the IDE's choice of which unit to open when it starts? It looks as >> though it currently opens the most-recently-added unit, is it possible >> to change this to be the first-added unit on the basis that this is most >> likely to be in the project directory, or to open the .lpr as probably >> the safest choice? > > Please test with 40191. Nice, and I think it fixes the naming issue from our earlier discussion (but testing continues). FYI, looking at a freshly-created (after correcting the intentional error I'd left in one unit) .lps I notice <Unit0> <Filename Value="HeavyWethers.lpr"/> <IsPartOfProject Value="True"/> <UnitName Value="HeavyWethers"/> <UsageCount Value="20"/> </Unit0> <Unit1> <Filename Value="heavywetherscode.pas"/> <IsPartOfProject Value="True"/> <ComponentName Value="HeavyWethersForm"/> <HasResources Value="True"/> <ResourceBaseClass Value="Form"/> <UnitName Value="HeavyWethersCode"/> <EditorIndex Value="0"/> <WindowIndex Value="0"/> <TopLine Value="1"/> <CursorPos X="1" Y="1"/> <UsageCount Value="20"/> <Loaded Value="True"/> <LoadedDesigner Value="True"/> </Unit1> .. <Unit12> <Filename Value="../../inifiles/trunk/dbconfigcode2.pas"/> <IsPartOfProject Value="True"/> <ComponentName Value="DbConfigFrame"/> <HasResources Value="True"/> <ResourceBaseClass Value="Frame"/> <UnitName Value="DbConfigCode2"/> <UsageCount Value="20"/> </Unit12> <Unit13> <Filename Value="../inifiles/trunk/dbconfigcode2.pas"/> <ComponentName Value="DbConfigFrame"/> <HasResources Value="True"/> <ResourceBaseClass Value="Frame"/> <UnitName Value="DbConfigCode2"/> <IsVisibleTab Value="True"/> <EditorIndex Value="1"/> <WindowIndex Value="0"/> <TopLine Value="4"/> <CursorPos X="4" Y="22"/> <UsageCount Value="10"/> <Loaded Value="True"/> <LoadedDesigner Value="True"/> </Unit13> where if I (finally) understand things correctly Unit0...Unit12 are describing the files in the project and Unit13 is describing the file that is open on the screen. The only reason I mention this is that the two units that are open are HeavyWethersCode (one entry in the list above) and DbConfigCode2 (two entries in the list, with different paths)... please ignore me if this is intentional :-)

You understand it right.
A project can have multiple units with the same name. For example using one one Linux and the other on Windows. Switching is done via the unit path.
Of course opening both at the same time may confuse you.

Mattias

Reply by email

Mark Morgan Lloyd
to Mattias Gaertner
Mattias Gaertner wrote 89 lines
On Tue, 05 Feb 2013 11:25:27 +0000 Mark Morgan Lloyd wrote: > Mattias Gaertner wrote: >> On Tue, 05 Feb 2013 09:12:35 +0000 >> Mark Morgan Lloyd wrote: >> >>> Mattias Gaertner wrote: >>> >>>>> I know, but as I've said above there's a list of units stored in the >>>>> .lpi as well. How does one clear this? >>>> This list gives the IDE the clues what files are important and what not. >>>> So, you should not clear it, you should clean it up and add all >>>> missing project units. For example via the Project Inspector. >>> I'm sorry, I took my eye off the ball since I was still looking at the >>> stored paths. >>> >>> One final question if I may: if the .lps has been deleted, what controls >>> the IDE's choice of which unit to open when it starts? It looks as >>> though it currently opens the most-recently-added unit, is it possible >>> to change this to be the first-added unit on the basis that this is most >>> likely to be in the project directory, or to open the .lpr as probably >>> the safest choice? >> Please test with 40191. > Nice, and I think it fixes the naming issue from our earlier discussion > (but testing continues). > > FYI, looking at a freshly-created (after correcting the intentional > error I'd left in one unit) .lps I notice > > <Unit0> > <Filename Value="HeavyWethers.lpr"/> > <IsPartOfProject Value="True"/> > <UnitName Value="HeavyWethers"/> > <UsageCount Value="20"/> > </Unit0> > <Unit1> > <Filename Value="heavywetherscode.pas"/> > <IsPartOfProject Value="True"/> > <ComponentName Value="HeavyWethersForm"/> > <HasResources Value="True"/> > <ResourceBaseClass Value="Form"/> > <UnitName Value="HeavyWethersCode"/> > <EditorIndex Value="0"/> > <WindowIndex Value="0"/> > <TopLine Value="1"/> > <CursorPos X="1" Y="1"/> > <UsageCount Value="20"/> > <Loaded Value="True"/> > <LoadedDesigner Value="True"/> > </Unit1> > .. > <Unit12> > <Filename Value="../../inifiles/trunk/dbconfigcode2.pas"/> > <IsPartOfProject Value="True"/> > <ComponentName Value="DbConfigFrame"/> > <HasResources Value="True"/> > <ResourceBaseClass Value="Frame"/> > <UnitName Value="DbConfigCode2"/> > <UsageCount Value="20"/> > </Unit12> > <Unit13> > <Filename Value="../inifiles/trunk/dbconfigcode2.pas"/> > <ComponentName Value="DbConfigFrame"/> > <HasResources Value="True"/> > <ResourceBaseClass Value="Frame"/> > <UnitName Value="DbConfigCode2"/> > <IsVisibleTab Value="True"/> > <EditorIndex Value="1"/> > <WindowIndex Value="0"/> > <TopLine Value="4"/> > <CursorPos X="4" Y="22"/> > <UsageCount Value="10"/> > <Loaded Value="True"/> > <LoadedDesigner Value="True"/> > </Unit13> > > where if I (finally) understand things correctly Unit0...Unit12 are > describing the files in the project and Unit13 is describing the file > that is open on the screen. The only reason I mention this is that the > two units that are open are HeavyWethersCode (one entry in the list > above) and DbConfigCode2 (two entries in the list, with different > paths)... please ignore me if this is intentional :-) You understand it right. A project can have multiple units with the same name. For example using one one Linux and the other on Windows. Switching is done via the unit path. Of course opening both at the same time may confuse you.

OK. The only thing I was noting was that in a case where the editor has two files open one of those has one entry (Unit1 above) while the other has two (Unit12, Unit13 above).

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Mark Morgan Lloyd
[...] OK. The only thing I was noting was that in a case where the editor has two files open one of those has one entry (Unit1 above) while the other has two (Unit12, Unit13 above).

No. Every unit in the lpi has a unique filename.

When you come from Linux (case sensitive) to Window (case insensitive) the IDE deletes one. But this is a rare case.

Mattias

Reply by email

Mark Morgan Lloyd
to Mattias Gaertner
Mattias Gaertner wrote 12 lines
On Tue, 05 Feb 2013 13:23:25 +0000 Mark Morgan Lloyd wrote: > [...] > OK. The only thing I was noting was that in a case where the editor has > two files open one of those has one entry (Unit1 above) while the other > has two (Unit12, Unit13 above). No. Every unit in the lpi has a unique filename. When you come from Linux (case sensitive) to Window (case insensitive) the IDE deletes one. But this is a rare case.

Understood, but we're back at the situation where a name is distinguished only by whether a symlink's been followed.

<Unit12>
<Filename Value="../../inifiles/trunk/dbconfigcode2.pas"/> ..
<Unit13>
<Filename Value="../inifiles/trunk/dbconfigcode2.pas"/>

As previously discussed, that's with
/usr/local/src/heavywethers/inifiles -> /usr/local/src/inifiles

and with only a ../inifiles path in the project settings.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Mark Morgan Lloyd
Show quoted text 22 lines
Mattias Gaertner wrote: > On Tue, 05 Feb 2013 13:23:25 +0000 > Mark Morgan Lloyd wrote: > >> [...] >> OK. The only thing I was noting was that in a case where the editor has >> two files open one of those has one entry (Unit1 above) while the other >> has two (Unit12, Unit13 above). > > No. Every unit in the lpi has a unique filename. > > When you come from Linux (case sensitive) to Window (case insensitive) > the IDE deletes one. But this is a rare case. Understood, but we're back at the situation where a name is distinguished only by whether a symlink's been followed. <Unit12> <Filename Value="../../inifiles/trunk/dbconfigcode2.pas"/> .. <Unit13> <Filename Value="../inifiles/trunk/dbconfigcode2.pas"/>

These are two different files for the IDE. Don't forget that this is about the meta data, not the content. The content is stored in the file itself.
One belongs to the project, one does not.

As previously discussed, that's with /usr/local/src/heavywethers/inifiles -> /usr/local/src/inifiles and with only a ../inifiles path in the project settings.

Mattias

Reply by email

Mark Morgan Lloyd
to Mattias Gaertner
Mattias Gaertner wrote 28 lines
On Tue, 05 Feb 2013 13:40:44 +0000 Mark Morgan Lloyd wrote: > Mattias Gaertner wrote: >> On Tue, 05 Feb 2013 13:23:25 +0000 >> Mark Morgan Lloyd wrote: >> >>> [...] >>> OK. The only thing I was noting was that in a case where the editor has >>> two files open one of those has one entry (Unit1 above) while the other >>> has two (Unit12, Unit13 above). >> No. Every unit in the lpi has a unique filename. >> >> When you come from Linux (case sensitive) to Window (case insensitive) >> the IDE deletes one. But this is a rare case. > Understood, but we're back at the situation where a name is > distinguished only by whether a symlink's been followed. > > <Unit12> > <Filename Value="../../inifiles/trunk/dbconfigcode2.pas"/> > .. > <Unit13> > <Filename Value="../inifiles/trunk/dbconfigcode2.pas"/> These are two different files for the IDE. Don't forget that this is about the meta data, not the content. The content is stored in the file itself. One belongs to the project, one does not.

OKaaay...so what you're saying is that when the compiler finds the syntax error in
/usr/local/src/heavywethers/inifiles/trunk/dbconfigcode2.pas and reports it to the IDE, the IDE is opening an editor on that file as though it's not in the project. [Checks] It also does exactly the same (i.e. the .lps has one entry for heavywetherscode.pas and two for dbconfigcode2.pas) if heavywetherscode.pas and dbconfigcode2.pas are both already open, but at least I don't get a duplicate tab/pane any more :-)

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Mark Morgan Lloyd
Show quoted text 35 lines
Mattias Gaertner wrote: > On Tue, 05 Feb 2013 13:40:44 +0000 > Mark Morgan Lloyd wrote: > >> Mattias Gaertner wrote: >>> On Tue, 05 Feb 2013 13:23:25 +0000 >>> Mark Morgan Lloyd wrote: >>> >>>> [...] >>>> OK. The only thing I was noting was that in a case where the editor has >>>> two files open one of those has one entry (Unit1 above) while the other >>>> has two (Unit12, Unit13 above). >>> No. Every unit in the lpi has a unique filename. >>> >>> When you come from Linux (case sensitive) to Window (case insensitive) >>> the IDE deletes one. But this is a rare case. >> Understood, but we're back at the situation where a name is >> distinguished only by whether a symlink's been followed. >> >> <Unit12> >> <Filename Value="../../inifiles/trunk/dbconfigcode2.pas"/> >> .. >> <Unit13> >> <Filename Value="../inifiles/trunk/dbconfigcode2.pas"/> > > These are two different files for the IDE. Don't forget that this is > about the meta data, not the content. The content is stored in the file > itself. > One belongs to the project, one does not. OKaaay...so what you're saying is that when the compiler finds the syntax error in /usr/local/src/heavywethers/inifiles/trunk/dbconfigcode2.pas and reports it to the IDE, the IDE is opening an editor on that file as though it's not in the project.

If the compiler gives an absolute filename the IDE opens just that. If the compiler gives a relative file, e.g. only 'dbconfigcode2.pas', then the IDE starts guessing and then it might use the information from the lpi and lps.

The filenames in the lpi are stored relative. When loading the lpi the IDE converts them to absolute filenames.

Show quoted text 5 lines
[Checks] It also does exactly the same (i.e. the .lps has one entry for heavywetherscode.pas and two for dbconfigcode2.pas) if heavywetherscode.pas and dbconfigcode2.pas are both already open, but at least I don't get a duplicate tab/pane any more :-)

Mattias

Reply by email