Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: FindFirstFileEx liefert Error Falscher Parameter?

  Alt 27. Aug 2022, 23:46
Wieso hattest du im ersten Post nicht alle nötigen Variablen initialisiert?
Wenn dir dann jemand um die Ohren wirft, dass es falsch ist, dann hat er bestimmt Recht.
Und ich möchte fast wetten, dass der Compiler das dir auch versucht hatte zu sagen, also warum höst du nicht auf ihn?

Das Result ist bereits THandle.

lhFoundFile := FindFirstFileEx(PChar(ParentFolder + Mask), FindExInfoBasic, @lfdStruct, FindExSearchNameMatch, nil, 0);
_FINDEX_SEARCH_OPS ist nicht unbedingt nötig, zumindestens nicht, wenn es nicht mit {$ScopedEnums ON} deklariert wurde.




Man mischt NIEMALS statische und compilerabhängige Deklarationen.

ParentFolder und Mask sind bestimmt String. (kein AnsiString oder WideString/UnicodeString)
FindFirstFileEx ist ebenso dynnamisch, gegenüber FindFirstFileExA und FindFirstFileExW.
PWideChar ist fest, ebenso wie PAnsiChar, aber gegenüber dem dynamischen PChar.

Rate mal, warum 2009 so viel Knallte, als Delphi plötzlich von ANSI zu Unicode wechselte.

String -> PChar -> TWin32FindData -> FindFirstFileEx
AnsiString -> PAnsiChar -> TWin32FindDataA -> FindFirstFileExA
WideString oder UnicodeString -> PWideChar -> TWin32FindDataW -> FindFirstFileExW
$2B or not $2B

Geändert von himitsu (27. Aug 2022 um 23:49 Uhr)
  Mit Zitat antworten Zitat