[Lazarus] Absolute paths on different platforms
pascaldragon at googlemail.com
Sun Jun 26 13:52:05 CEST 2011
On 26.06.2011 13:50, Hans-Peter Diettrich wrote:
> Mark Morgan Lloyd schrieb:
>> Does Windows still support commands like "subst" and "join"?
> A friend uses SUBST e.g. for his own libraries, and he cannot use
> FPC/Lazarus because these are unable to find his files in e.g. X:\.
Why can't he use that? SUBST uses the same mechanism that is used for
e.g. C:\ so all folders that are mapped using SUBST (or its underlying
API) are accessible the same way from the Windows API as "normal" drives
>> Alternatively I believe that it does now have an equivalent of
>> symlinks for directories.
> NT is POSIX compatible, at least with regards to files and inodes.
> Symlinks exist since the introduction of desktop shortcuts/icons and the
> Windows Explorer, in all file systems. The implementation (of symlinks
> and SUBST) may vary, though, depending on the concrete filesystem.
But shortcuts aren't the same as symlinks. Shortcuts are normal files
and they can be opened like that using e.g. OpenFile while you need to
use special APIs to work on symlinks.
If you want something that is more like POSIX' symlink concept then you
either need to look at the newer features provided by NTFS file systems
and Windows versions like Vista and younger or you need to look at NT's
object manager which can be accessed using the Native NT API and
provides a virtual, object based root filesystem similar to that you can
find on POSIX systems. You can also have symlinks there and in the end
the drives you can see through the Window API (C:\, etc) are symlinks
from the global WinAPI namespace (e.g. \Global??\C [yes, the "??" belong
there]) to the correct partition (e.g. \Devices\Harddisk1\HarddiskVolume0).
More information about the Lazarus