Ich habe gerade ein seltsames Phänomen. Eben habe ich eine Prozedur von FindFirst/FindNext auf FindFirstFileEx/FindNextFile umgeschrieben. Sie hat funktioniert!
Wenn ich diese Funktion jetzt aber aufrufe, gibt es den Fehler "Falscher Parameter". Die lief doch vorhin noch
Das hat mit FindFirst/FindNext immer funktioniert. Was ist intern an FindFirstFileEx anders? Darf man FindFirstFileEx nicht so schnell hintereinander aufrufen?
So rufe ich es auf, der Rest (Prüfen auf . und .. ist Standard. Aber es geht nicht über invalid
handle value hinaus.
Delphi-Quellcode:
var
lhFoundFile: THandle;
lIndexInfoLevels: FINDEX_INFO_LEVELS;
lfdStruct: TWin32FindData;
lIndexSearchOps: TFindexSearchOps;
begin
// ParentFolder: C:\Projekte\Logdateien\
// Mask : *.log
lhFoundFile := THandle(
Winapi.Windows.FindFirstFileEx(PWideChar(ParentFolder + Mask), lIndexInfoLevels, @lfdStruct, lIndexSearchOps,
nil, 0));
if (lhFoundFile <> INVALID_HANDLE_VALUE)
then
begin
Bei meinen ersten Tests habe ich immer Resultate bekommen. Mittlerweile bekomme ich gar nichts mehr zurück.