Einzelnen Beitrag anzeigen

amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
270 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: IOResult stimmt unter Vista nicht!?

  Alt 3. Apr 2007, 17:52
Kann es sein, dass diese Variante nicht unter Windows Vista funktioniert?
Speziell interessiert mich die Abfrage, ob z.B. in den Programmeordner geschrieben werden kann.

Hier einmal die Kurzvariante zum Testen:

Delphi-Quellcode:
var
  F : TextFile;
  tmp : integer;
begin
    try
        AssignFile(F, Ordner + Dateiname);
{$I-}
        ReWrite(F);
{$I+}
        tmp := ioresult;
        if tmp = 0 then
        begin // erfolgreich
          showmessage('ioresult='+inttostr(tmp));
          Result := true;
          CloseFile(F);
        end
        else
        begin // nicht erfolgreich
          showmessage('peng! ioresult='+inttostr(tmp));
          Showmessage('In den angegebenen Ordner kann nicht geschrieben werden!');
          Result := false;
        end;
    finally
      If FileExists(Ordner + Dateiname) then
         DeleteFile(Ordner + Dateiname);
    end;
end;
Bei den gewohnten Verzeichnissen, wie CD-Laufwerke, nicht beschreibbare Medien funktioniert es. Nur nicht unter Vista, wenn man als Nicht-Admin versucht ins Programmverzeichnis zu schreiben. Die angegebene Datei ist vor dem CloseFile() auch nicht vorhanden, obwohl ioresult=0 zurück gegeben wurde...

Ich verzweifle schon fast...
  Mit Zitat antworten Zitat