Wieso liefert ExcludeTrailingBackslash/ExcludeTrailingPathDelimiter seit Jahrzehnten ein falschs Ergebnis für Root-Verzeichnisse?
Delphi-Quellcode:
ExtractPath('D:\aaa\bbb') = 'D:\aaa\'
ExtractDir('D:\aaa\bbb') = 'D:\aaa'
ExcludeTrailingPathDelimiter('D:\aaa\') = 'D:\aaa'
ExtractPath('D:\aaa') = 'D:\'
ExtractDir('D:\aaa') = 'D:\'
ExcludeTrailingPathDelimiter('D:\') = 'D:' // So, nun ist das plötzlich ein relativer Pfad, obwohl er vorher absolut war.
ExtractFileDir(IncludeTrailingPathDelimiter('D:\') + 'dummy') = 'D:\' // bescheuertste Lösung