Forum: Win32/Win64 API (native code)
by himitsu,
9. Sep 2022
Delphi kann es aber auch erst seit grade eben.
Forum: Win32/Win64 API (native code)
by himitsu,
9. Sep 2022
Es kommt zwar seltener vor, dann man wirklich mal viel schnell sucht,
aber wenn, dann sind FIND_FIRST_EX_LARGE_FETCH, FindExSearchLimitToDirectories und vielleicht noch FIND_FIRST_EX_ON_DISK_ENTRIES_ONLY ganz nett.
Wobei direkt MFT unschlagbar ist, auch wenn es selten genutzt werden kann.
Schade, überall werden immernoch die Transacted-Varianten present verlinkt, aber wenn man dann rein...
Forum: Win32/Win64 API (native code)
by himitsu,
8. Sep 2022
Nja, da könnte man auch direkt Assembler schreiben, wenn man die vorhandenen einfacheren Lösungen nicht nimmt.
Die lokalen TStrArr sollten doch auch im FPC zu Beginn immer Length 0 sein und am Ende auch automatisch freigegeben werden, oder nicht?
Forum: Win32/Win64 API (native code)
by himitsu,
7. Sep 2022
Falls ich mich jetzt nicht verschrieben hab
uses
StrUtils, IOUtils;
procedure TForm11.Button1Click(Sender: TObject);
var
List: TArray<string>;
begin
// GetAllFiles -> TDirectory.GetDirectories
// GetAllFolders -> TDirectory.GetFiles
Forum: Win32/Win64 API (native code)
by himitsu,
27. Aug 2022
lIndexInfoLevels := FindExInfoBasic;
lIndexSearchOps := FindExSearchNameMatch;
lhFoundFile := FindFirstFileEx(PChar(ParentFolder + Mask), lIndexInfoLevels, @lfdStruct, lIndexSearchOps, nil, 0);
Dein Code aus Post #1:
Verboten sind Variablen nicht, aber man sollte ihnen auch etwas zuweisen.
Und genau das sollte der Compiler dir auch gesagt haben,
denn es war auch der Grund, warum sich...
Forum: Win32/Win64 API (native code)
by himitsu,
27. Aug 2022
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. :stupid:
lhFoundFile := FindFirstFileEx(PChar(ParentFolder + Mask),...