Altes ANSI-Delphi? (D7 oder davor)
Und kein Kompatibilitätsmanifest vorhanden, bzw. läuft die Anwendung in einem Kompatibilitätsmodus? (WinXP oder so)
Hmmm, eigentlich sieht es nicht so aus,
aber würden die ShortNames verwendet, dann wäre es eine Erklärung. 
Ohh ja, es werden ShortName
und LongName vom FindFirst/FindNext berücksichtigt.
Verwende deinen Debugger und schau, was im SR alles drin steht, bzw. genauer in SR.FindData.cAlternateFileName
Ist Directory leer
''
, dann raucht es dir ab
Delphi-Quellcode:
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
und, selbst wenn nicht, dann sollte
if Directory = '\' then Exit;
bestimmt erst danach erfolgen.
EndsStr, bzw.
IncludeTrailingBackslash
IncludeTrailingPathDelimiter
TDirectory.GetFiles
Ein Therapeut entspricht 1024 Gigapeut.