Am 2016-01-16 um 00:11 schrieb Bart: > On 1/15/16, Jürgen Hestermann <juergen.hesterm...@gmx.de> wrote: >> Why not prepend "\\?\" at this last Windows step so it works for long paths > This will break existing programs, including the ide. > Currently you can use both / and \ in filenames on Wndows filename > functions, because the API does not care. > That is unlues you prepend \\?\, then character in the given string > MUST be in the filename. > Also this will then return false on '..\foo.bar', sincenow te APi > expects that the two dots are part of the filename.
Well, at least when the path is too long (length(FileName>MAXPATH)) it can prepend \\?\ because it will fail without it anyway. I have found this issue the hard way as I checked for file existence in my program and it reported false although the file existed. So I overwrote it. IMO this is a bug. A function that claims to check for file existence should be as reliable as possible and not have some obscure side effects. > See the comments in ExpandFilenameUTF8 (I think I put a reference there). I did not find any comments that mentions long paths -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus