"Ich" hatte nie gesagt, dass TDirectory.Exists und DirectoryExists sich unterscheiden.
TPath.ChangeExtension und ChangeFileExt
TPath.GetExtension und ExtractFileExt
tuen das aber definitiv
Im Debugger war mir nur leider aufgefallen, dass TDirectory.Exists immer True lieferte, obwohl weder Datei noch Verzeichnis mit diesem Namen existierten. (ergab eine schöne Entlosschleife)
Und weil mich diese sinnlos doppelt Abfrage ala
if TDirectory.Exists() or TFile.Exists()
sowieso störte und ein Blick in den Code von FileExists und DirectoryExists zeigten, dass es damit auch nur auf ein
if FileExists() or DirectoryExists()
hinaus liefe, hatte ich das einfach mal schnell durch
ein
if GetFileAttributes() <> INVALID_FILE_ATTRIBUTES
ersetzt und nicht weiter drüber nachgedacht, weil das Problem nun weg war. Dabei war mir nur wieder einmal die Kommentierung bezüglich TPath.ChangeExtension aufgefallen und es hat mich angekotzt, dass schon mehrmals unnötig viel Zeit dafür drauf ging.