AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

E/A Fehler 32

Ein Thema von juelin · begonnen am 23. Dez 2022 · letzter Beitrag vom 27. Dez 2022
Antwort Antwort
juelin

Registriert seit: 9. Mai 2006
Ort: Mannheim
142 Beiträge
 
Delphi XE5 Professional
 
#1

E/A Fehler 32

  Alt 23. Dez 2022, 12:31
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:
  var fnum: TextFile;

        AssignFile(fnum, 'e:\DARC\dump1090\daten.txt');
        FileMode:=fmShareDenyRead;
        Reset(fnum);
Beim Reset bekomme ich E/A Fehler 32.
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
Jürgen Linder
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.491 Beiträge
 
Delphi 7 Professional
 
#2

AW: E/A Fehler 32

  Alt 23. Dez 2022, 12:42
In meiner Delphi-7-Hilfe steht:
Zitat:
Konstante Definition

fmOpenRead Nur Lesezugriff.
fmOpenWrite Nur Schreibzugriff.
fmOpenReadWrite Lese- und Schreibzugriff.
fmShareCompat Kompatibel zu dem Verfahren, mit dem FCBs geöffnet werden. Verwenden Sie diesen Modus nicht in plattformübergreifenden Anwendungen.

fmShareExclusive Kein Lese- und Schreibzugriff.
fmShareDenyWrite Kein Schreibzugriff.
fmShareDenyRead Kein Lesezugriff. Verwenden Sie diesen Modus nicht in plattformübergreifenden Anwendungen.
fmShareDenyNone Andere haben uneingeschränkten Zugriff.
Da würd' ich's dann mal mit fmOpenRead versuchen oder fmShareDenyNone? Andere wollen ja ebenfalls lesen und schreiben.

FileMode - Defines how Reset opens a file
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.100 Beiträge
 
Delphi 12 Athens
 
#3

AW: E/A Fehler 32

  Alt 23. Dez 2022, 13:18
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.

Geändert von himitsu (23. Dez 2022 um 13:24 Uhr)
  Mit Zitat antworten Zitat
juelin

Registriert seit: 9. Mai 2006
Ort: Mannheim
142 Beiträge
 
Delphi XE5 Professional
 
#4

AW: E/A Fehler 32

  Alt 23. Dez 2022, 14:04
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
Jürgen Linder
  Mit Zitat antworten Zitat
EmWieMichael

Registriert seit: 28. Mär 2012
103 Beiträge
 
#5

AW: E/A Fehler 32

  Alt 24. Dez 2022, 07:34
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.
  Mit Zitat antworten Zitat
dstein

Registriert seit: 28. Jul 2005
Ort: Dormagen
55 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: E/A Fehler 32

  Alt 25. Dez 2022, 22:57
Evtl. so?
Feedback ob das funktioniert wäre schön.

Quelle
https://docwiki.embarcadero.com/Code...teFile_(Delphi)

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;
Miniaturansicht angehängter Grafiken
samplebild.png  
Angehängte Dateien
Dateityp: zip ReadWriteSample.zip (3,19 MB, 3x aufgerufen)
Dirk
- Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
(Seneca, röm. Dichter u. Phil., 4 v. Chr. - 65 n.Chr.) -
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.100 Beiträge
 
Delphi 12 Athens
 
#7

AW: E/A Fehler 32

  Alt 26. Dez 2022, 20:11
An der Stelle ist das Exit; natürlich nutzlos, aber egal.

Zitat:
MessageDlg('Incorrect path', mtError, [mbOK], 0);
Aber für sowas gehört man mindestens, von diesem alten Typen grade, total den Popo versohlt bekommen.

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?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
dstein

Registriert seit: 28. Jul 2005
Ort: Dormagen
55 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: E/A Fehler 32

  Alt 27. Dez 2022, 07:53
Moin finde ich auch, aber das ist Original:
https://docwiki.embarcadero.com/Code...teFile_(Delphi)
Vielleicht sollte jemand "embarcadero" einen Tip geben
Dirk
- Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
(Seneca, röm. Dichter u. Phil., 4 v. Chr. - 65 n.Chr.) -
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: E/A Fehler 32

  Alt 27. Dez 2022, 09:34
Hallo,
bitte, tut dir keinen Zwang an...

Hier noch ein Bsp. mit Streams, was funktioniert.
https://www.delphipraxis.net/185425-...hler-32-a.html

Gefunden mit Google "delphi reset error 32"
innerhalb von 2 Minuten.
Heiko
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz