![]() |
E/A Fehler 32
Ich weiss, Ihr habt das Thema bestimmt schon tausendmal gehöhrt.
Habe aber nix gefunden. Habe Windows 10 und Delphi 10.4 Aug dem Computer läuft ein Programm (BAT-file) das in eine Textdatei ausgibt 8 > daten.txt). Nun möchte ich während das Programm läuft mit einem Delphi-Programm auf die Datei zugreifen und auslesen.
Delphi-Quellcode:
Beim Reset bekomme ich E/A Fehler 32.
var fnum: TextFile;
AssignFile(fnum, 'e:\DARC\dump1090\daten.txt'); FileMode:=fmShareDenyRead; Reset(fnum); Aber wenn ich das File mit dem Editor öffne (auch wenn das Programm läuft) geht das ja auch. Was muss ich tun? Grüß Jürgen |
AW: E/A Fehler 32
In meiner Delphi-7-Hilfe steht:
Zitat:
![]() |
AW: E/A Fehler 32
Tja, 32 = ERROR_SHARING_VIOLATION
also irgendwer hat diese Datei schon offen und entweder erlaubst du ihm seinem Zugriff nicht, oder er dir deinen nicht. Du verbietest ALLEN Anderen das Lesen und das macht Notepad nicht. Wie wäre es auch langsam mal auf aktuellere API umzusteigen? TStringList, TFileStream, TStringStream, TFile.Read*** uvm. Vor allem auch wegen der verständlicheren Fehlerbehandlungs-Ausgaben. |
AW: E/A Fehler 32
also habe geändert in fmSharedDenyNone
das andere Programm schreibt nur und ich will nur lesen. Wie gesagt mit dem Editor geht das ja auch. BAT-File: dunp1090.exe > daten.txt |
AW: E/A Fehler 32
Mit FileMode zu experimentieren wird erfolglos bleiben, da FileMode bei Textdateien keine Auswirkungen hat. Textdateien können nur zum Lesen oder zum Schreiben geöffnet werden.
|
AW: E/A Fehler 32
Liste der Anhänge anzeigen (Anzahl: 2)
Evtl. so?
Feedback ob das funktioniert wäre schön. Quelle ![]() if dlgOpenTxtFile_1.Execute() then begin try edt_File.Text := dlgOpenTxtFile_1.FileName; Mmo1.Lines[0] := TFile.ReadAllText(edt_File.Text); // uses System.IOUtils except { Catch the possible exceptions } MessageDlg('Incorrect path', mtError, [mbOK], 0); Exit; end; end; |
AW: E/A Fehler 32
An der Stelle ist das
Delphi-Quellcode:
natürlich nutzlos, aber egal.
Exit;
Zitat:
Es darf NIEMALS NICHT eine Fehlermmeldung durch einen sinnlosen Text ersetze werden :!: Es gibt hier garkeinen Grund, für deinen Dialog und das ganze Try-Except kann man ganz weglassen. Erstmal bekommt man dann wieder eine "ordentliche" Fehlermeldung. Wenn, dann nimmt man E.Message mit in die Fehlermeldung oder speichert es zumindestens in einem Log. * Einfach verwerfen ist grob fahrlässig. * und natürlich kann man auch den Dateinamen nochmal im Log/Fehlermeldung anzeigen Und wie kommmst auf die Idee, der Pfad könnte inkorrekt sein? * wie bereits gesagt ist E/A-Fehler 32 = ERROR_SHARING_VIOLATION. * Ist der OpenFileDialog richtig eingestellt, kann garkein falscher Pfad rauskommen. * und was ist, wenn der Pfad zwar gültig ist, aber der Pfad oder die Datei genicht existiert oder oder du hast keinen Zugriff (fehlende Leserechte) oder jemand hat die Datei und fehlende SharingRechte oder der Datenträger ist kaputt (Lesefeheler) :?: * Warum 0 anstatt z.B. mtError? |
AW: E/A Fehler 32
Moin finde ich auch, aber das ist Original:
![]() Vielleicht sollte jemand "embarcadero" einen Tip geben :? |
AW: E/A Fehler 32
Hallo,
bitte, tut dir keinen Zwang an... Hier noch ein Bsp. mit Streams, was funktioniert. ![]() Gefunden mit Google "delphi reset error 32" innerhalb von 2 Minuten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz