AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textfile reset mit fmOpenRead -> E/A Fehler 32

Ein Thema von baumina · begonnen am 9. Jun 2015 · letzter Beitrag vom 27. Jan 2016
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#1

Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 09:38
Delphi-Version: XE
Wenn ich eine csv-Datei mit Excel offen habe, schaffe ich es nicht diese mit meinem Delphi ebenfalls nur lesend zu öffnen. Was mache ich falsch?

Delphi-Quellcode:
var
  fFile : TextFile;

begin
  AssignFile(fFile,lSourceFile);
  FileMode := fmOpenRead;
  reset(fFile); // <- E/A Fehler
  CloseFile(fFile);
  FileMode := fmOpenReadWrite;
end;
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 09:45
Ich sehe da zwei Möglichkeiten:

1. Addiere zu dem fmOpenRead noch ein fmShareDenyNone.

2. Excel öffnet die Datei selbst exklusiv, dann hast du keine Chance.

Ich hatte da ein ähnliches Problem mit DXF-Dateien in AutoCAD. Die kann man auch nicht lesen, wenn sie in AutoCAD offen sind.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 09:59
FileMode := fmOpenRead OR fmShareDenyNone; klappt leider nicht. Auch der Versuch über StringList.LoadFromFile zu gehen hat nicht geklappt.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 11:12
FileMode := fmOpenRead OR fmShareDenyNone; klappt leider nicht. Auch der Versuch über StringList.LoadFromFile zu gehen hat nicht geklappt.
LoadFromFile macht auch nichts anderes als fmOpenRead. Wenn auch kein anderes Programm (z.B. notepad oder die Vorschau im Windows Explorer) die Datei öffnen kann, dann sieht es schlecht aus.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 11:26
Wenn auch kein anderes Programm (z.B. notepad oder die Vorschau im Windows Explorer) die Datei öffnen kann, dann sieht es schlecht aus.
Mit Notepad, der Delphi-IDE oder WinVI kann ich die Datei aufmachen, mit WordPad nicht. Demnach muss es da eine Möglichkeit geben.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#6

AW: Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 11:46
Ich sehe gerade, du benutzt TextFile - das ignoriert das Share-Bit!

Mach statt dessen einen TFileStream mit fmOpenRead OR fmShareDenyNone auf und übergib den dem LoadFromStream einer TStringList .
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 11:55
Danke Uwe, diesen Weg hatte ich mir auch grad überlegt und siehe da, es klappt.

Delphi-Quellcode:
  aStream := TFileStream.Create(lSourceFile,fmOpenRead OR fmShareDenyNone);
  aList := TStringList.Create;
  aList.LoadFromStream(aStream);
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 12:32
Noch ein kleiner Nachtrag aus der OH:
Zitat:
In Delphi legt FileMode den Zugriffsmodus fest, wenn typisierte und nicht typisierte Dateien (keine Textdateien) mit der Prozedur Reset geöffnet werden.
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 12:59
Aber auch schade, dass man der Stringlist beim LoadFromFile keinen Mode mitgeben kann.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Textfile reset mit fmOpenRead -> E/A Fehler 32

  Alt 9. Jun 2015, 14:06
Aber auch schade, dass man der Stringlist beim LoadFromFile keinen Mode mitgeben kann.
ich glaube das ist Standardmäßig RO und ShareDenyNone.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:42 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