FindFirst FindNext Windows 2003 Server
Hallo,
ich habe da ein Problem mit folgender Prozedur:
Delphi-Quellcode:
auf XP funktioniert das wie erhofft.
procedure TForm1.Button2Click(Sender: TObject);
var sr: TSearchRec; s: string; begin s:= 'R:\xyz\S028*.*'; ListBox1.Items.Clear; if FindFirst(s, faArchive, sr) = 0 then repeat ListBox1.Items.Add(sr.Name); until FindNext(sr)<>0; FindClose(sr); end; Suche ich aber auf einem Netzlaufwerk das auf einem Windows 2003 Server ist, so werden zwar Dateien der Form S028*.* gefunden, aber auch noch s047_ma_0000_01_sk.PDF s047_ma_3220_00.PDF die mit der Maske nichts zu tun haben. Suche ich nach z.B. S029*.* so werden andere Dateien S047_... zurückgegeben. Ein Schema erkenne ich nicht. Hat jemand eine Idee was da passiert? P.S. Wenn noch die Zeile if (sr.Attr and faArchive) = sr.Attr then ListBox1.Items.Add(sr.Name); eingefügt wird wie häufig dargestellt, wird auf 2003 Server garnichtsmehr gefunden. |
Re: FindFirst FindNext Windows 2003 Server
Den Grund kenn ich nicht. Aber du kannst einfach nach allen Dateien suchen und dann selbst die Maske vergleichen.
|
Re: FindFirst FindNext Windows 2003 Server
Könnte es auch etwas mit diesem Thema zu tun haben? -> http://www.delphipraxis.net/internal...ight=findfirst
Grüße Klaus |
Re: FindFirst FindNext Windows 2003 Server
Moin Berni,
die Delphi-Funktion FindFirst kapselt ja die API-Funktion FindFirstFile. Versuche doch mal Dir das Ganze mit Hilfe von FindFirstFileEx zu erstellen (auch wenn ich befürchte, dass FindFirstFileEx intern auch die andere Funktion verwendet). Zumindest laut PSDK gibt es allerdings weder bei der einen, noch bei der anderen Funktion einen Hinweis darauf, was dieses Problem verursachen könnte :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz