Autor Beitrag
Mikro79
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 16.08.10 16:59 
Hallo,

ich habe ein kleines Problem mit der Funktion "FindFirst" in einer Delphi-Applikation, die als Dienst läuft.
Hier versuche ich alle Textdateien in einem Verzeichnis zu finden und z.B. zu löschen.
Dies funktioniert auch einwandfrei. Nur, wenn ich als Suchpfad ein Netzwerkpfad übergebe, funktioniert das alles nicht mehr.
Nun habe ich schon herausgefunden, dass ein Netzlaufwerk so nicht funktioniert, da dieser an den Benutzer gebunden ist.
Aber ein UNC-Pfad sollte ja eigentlich schon funktionieren...

Code-Ausschnitt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
function fnDeleteFile (strPara1 : string; nPara1 : integer): integer;
var
  nReturn           : integer;                  // Funktionsergebnis
  srDateien         : TSearchRec;               // Struktur mit Dateiinformationen
begin
  nReturn := FindFirst (strPara1, faAnyfile - faDirectory, srDateien);
  if nReturn = 0 then  
  begin
    repeat                                                                      // solange suchen...
      if (srDateien.Name<>'.'and (srDateien.Name<>'..'then                  // Wenn nicht unterverzeichnis
      begin
      // Hier was mit den Dateien machen....
      end;
    until FindNext(srDateien)<>0;                                               // ...bis alle durch  
  end;
end;


Für strPara1 := 'D:\*.txt' funktionirt alles gut, ich bekomme alle Textdateien aus dem Verzeichnis.
Für strPara1 := 'Y:\*.txt' (wobei Y: ein verbundenes Netzlaufwerk darstellt) funktioniert es nicht (nReturn = -1)
Für strPara1 := '\\<PC-Name>\<Freigabe>\*.txt (wobei die Freigabe alle Rechte hat und auf Y: verweist auch nicht (nReturn = -1).

Es muss irgendwas mit dem Dienst zu tun haben, da ich das Genze auch mal in eine "normale" Delphi-App eingebaut habe, wo alles (auch mit Netzlaufwerken und Freigaben) einwandfrei funktioniert...

Über irgendeienn Tip wäre ich dankbar.

Gruß, Mirko
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 17.08.10 14:02 
Moin!

Der Dienst wird vermutlich unter dem Systemkonto laufen? Stell das Konto für den Dienst auf einen Benutzer um, der die nötigen Rechte im Netz hat. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
tif
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46
Erhaltene Danke: 1

Winxxx
TP, BP, Delphi 1 - 2009
BeitragVerfasst: Di 17.08.10 16:07 
Da hat einer das gleiche Problem :shock: :

entwickler-forum.de/showthread.php?t=63280
Mikro79 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 17.08.10 16:13 
Hi,
Danke erstmal für eure Mühe.
Habe das Problem jetzt gelöst (siehe link im Vorbeitrag, der übrigens auf meinen eigenen Beitrag in einem anderen Forum verweist ;-) ).
Also, nochmals danke

Gruß, Mirko