Mattias Gaertner wrote:
On Tue, 09 Oct 2007 10:32:38 +0200
Marc Weustink <[EMAIL PROTECTED]> wrote:

Mattias Gaertner wrote:
On Mon, 08 Oct 2007 23:05:04 +0200
Marc Weustink <[EMAIL PROTECTED]> wrote:

Mattias Gaertner wrote:
On Mon, 08 Oct 2007 17:46:04 +0400
12 12 <[EMAIL PROTECTED]> wrote:

Bug: Lazarus opens twice the same source file!

I use relative paths for units. This simplifies moving of
project. This way i add to compiler options in "Other units"
section:

../../includes\
../../../../Library\
../../../../Library/LazRGBGraphics\
../../../../Library/vfp\

The project uses unit unEdgePositionFinder.pas located in ../../includes\.
But when i "Ctrl + click" with mouse on unit name in "Uses"
section of main form unit
Lazarus opens unit unEdgePositionFinder.pas twice!
The path for each copy displayed at bottom of edit window.
The first has path D:\projects\ThickLazarus\includes\unEdgePositionFinder.pas. The second has path D:\projects\ThickLazarus\utils\CamCalibration\../../includes\unEdgePositionFinder.pas.
I didn't know, that windows allows using / as path delimiter.
Windows itself not, but the utilities we use do.
Which utilities? He said, he just opens a file.
utilities like the compiler (eventually make link assember etc. ;)
IIRC we don't pass paths to windows only/native functions/exes.
So that the / or \ get parsed OK doesn't surprise me.

I'm not familiar with the windows/rtl internals, but under linux direct
calls are used and (back-)slashes are treated correctly in filenames.

I don't know. I only observe that sometimes a / in a windows path is correctly "translated" as \

OTOH he said, "The project uses unit unEdgePositionFinder.pas
located in ../../includes\" - which I guess he does not mean
literally, but I guess he really means "The project uses unit
unEdgePositionFinder.pas located in ..\..\includes\".


When switching a project between linux and linux sometimes the / stays in the path
Do you mean between windows and linux?
What paths stay? The unit path? Include path?
I don't recall. I noticed once for a test project I use for windows
and linux testing. The only solution for me at that time was editing
the .lpi myself.
Normally I use different .lpi  for different platforms since using
the same doesnt't work well (lots of complaining on linux that F:\rtl\somesource cannot be found for instance)

It often happens, that people store the session information in
the .lpi file and when they open the project on a different machine

ehm... I don't store anything in the .lpi lazarus does for me :)

the IDE tries to reopen the files, that were open in the source editor.
Then you get the above message.
Maybe the default for where to store the session information should be
changed.

maybe store session info per platform, or store unit name with path per platform.

Marc

_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to