Danke blauweiss für Deine Tipps.
Es ist aber nur eine kleine "Unschärfe" im Programm.
tmpIOResult liefert "5" (Zugriff verweigert) also das gleiche, wie die
Exception. Selbstverständlich verfüge ich über alle Administrationsrechte.
Hier die korrigierte Prozedur:
Delphi-Quellcode:
procedure TForm1.Schreiben(Sender: TObject);
begin
if SaveDialog1.Execute
then { Dialog zum Speichern anzeigen }
begin
AssignFile(meinedatei, SaveDialog1.FileName);
// FileMode := fmShareDenyNone;
{$I-}
Rewrite(meinedatei);
tmpIOResult := IOResult;
{$I+}
If tmpIOResult <> 0
Then
begin
ShowMessage('
Kann die Datei nicht erstellen! Fehler: ' + IntToStr(tmpIOResult));
end
Else
begin
satz.
name := '
Test-Datensatz';
satz.email := '
info@testserver.de';
try
write(meinedatei, satz);
except
on E :
Exception do
begin
ShowMessage('
Schreibfehler in myfile.dat!' + #13
+ E.ClassName + '
, Meldung: ' + E.
Message);
end;
end;
CloseFile(meinedatei);
ShowMessage('
myfile.dat erfogreich erstellt.');
end;
end;
// von SaveDialog1
end;
Es läuft meiner Meinung nach eindeutig auf einen Bug in der System-
Unit von Delphi 2010 hinaus.
Gruß
MSerror