Announcement

Collapse
No announcement yet.

Funktion >FileExists< im Netzwerk

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Funktion >FileExists< im Netzwerk

    Habe unter Windows 2000 ein Mapping auf ein Netzlaufwerk (Z:=\\RemoteRechner\C erzeugt. Die Funktion FileExists("Z:\Datei") liefert allerdings immer FALSE zurück. Ich kann aber auf die Dateien zugreifen.
    Ist FileExists nicht netzwerkfähig ??
    Gruss, Uwe.
    Uwe Spitzenberger

  • #2
    Hallo,

    ich kann dieses Problem mit Delphi 5.01 und einem gemappten Laufwerk nicht nachvollziehen (Windows 2000-Rechner greift sowohl auf das auf einem NT-Server gemappte Laufwerk zu als auch auf ein auf einem Windows 2000-Server gemapptem Laufwerk zu). Beide Prüfungen (FileExists und FileSystemObject.FileExists) liefern korrekte Daten zurück:
    <pre>
    uses ComObj, ActiveX, Scripting_TLB;

    procedure TForm1.Button2Click(Sender: TObject);
    var
    aFSO : IFileSystem3;
    swFile : WideString;
    begin
    aFSO := CoFileSystemObject.Create;
    swFile := 'J:\Temp\README.TXT';
    if aFSO.FileExists(swFile) then
    ShowMessage('Datei gefunden')
    else
    ShowMessage('Datei nicht gefunden');
    end;

    procedure TForm1.Button3Click(Sender: TObject);
    begin
    if FileExists('J:\Temp\README.TXT') then
    ShowMessage('Datei gefunden')
    else
    ShowMessage('Datei nicht gefunden');
    end;
    </pre>
    Alternativ zu <b>FileExists</b> kann auch das <b>FileSystemObject</b> aus dem <i>Microsoft Scripting Host</i> verwendet werden. Über <i>Projekt | Typbibliothek</i> muss dazu in Delphi die Typbibliothek "<i>Microsoft Scripting Runtime (Version 1.0)</i>" importiert und die Unit <i>Scripting_TLB</i> eingebunden werden

    Comment


    • #3
      Sorry, ich hatte vergessen zu erwähnen, dass diese Anwendung noch mit Delphi 1 compiliert ist...
      Kann es damit Probleme geben
      Uwe Spitzenberger

      Comment


      • #4
        ...unter Delphi1 dürfte es auf jeden Fall Probleme geben, da unter 32Bit-BS eine 16Bit-Umgebung erzeugt wird um den 16Bit-Task bedienen zu können. Diese Umgebung hat nur begrenzt Zugriff auf die 32Bit-Umgebung und kann daher auch nur sehr begrenzt auf die komplizierte Rechtestruktur eines NT-/2000-Servers zugreifen. Es gibt vielleicht eine Möglichkeit sich über ein 32Bit-Tool die notwendigen Rechte für kurze Zeit zu öffnen, aberich kann nicht mit Bestimmtheit sagen ob der 16Bit-Task davon profitieren kann. Erlich gesagt sehe ich nicht wirklich einen Grund eine solche Anwendung unter 16Bit zu entwickeln, es sei denn, man hat nur Delphi1 oder möchte von einem alten Win3.1.1 Rechner auf einen 32Bit-Server zugreifen.. <br>
        <br>
        Gruß Nico Stöckig

        Comment


        • #5
          Ich habe das gleiche Problem, allerdings mit Delphi 5.01! Der einzige Unterschied besteht darin, dass ich auf einen Linux Server über Samba zugreife! Die FileExists Function liefert immer false. Gruß Tobia

          Comment

          Working...
          X