Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi FindFirst FindNext Windows 2003 Server (https://www.delphipraxis.net/82970-findfirst-findnext-windows-2003-server.html)

Berni68 23. Dez 2006 12:21


FindFirst FindNext Windows 2003 Server
 
Hallo,
ich habe da ein Problem mit folgender Prozedur:
Delphi-Quellcode:
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;
auf XP funktioniert das wie erhofft.
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.

SirThornberry 23. Dez 2006 12:28

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.

Klaus01 23. Dez 2006 13:41

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

Christian Seehase 23. Dez 2006 15:29

Re: FindFirst FindNext Windows 2003 Server
 
Moin Berni,

die Delphi-Funktion FindFirst kapselt ja die API-Funktion MSDN-Library durchsuchenFindFirstFile. Versuche doch mal Dir das Ganze mit Hilfe von MSDN-Library durchsuchenFindFirstFileEx 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