AGB  ·  Datenschutz  ·  Impressum  







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

ReWrite() findet kein File?

Ein Thema von TForm1 · begonnen am 10. Mai 2014 · letzter Beitrag vom 11. Mai 2014
Antwort Antwort
Seite 1 von 3  1 23      
TForm1

Registriert seit: 11. Jan 2014
128 Beiträge
 
FreePascal / Lazarus
 
#1

ReWrite() findet kein File?

  Alt 10. Mai 2014, 10:34
Hallo zusammen,
ich bin endlich mal dazu gekommen, mir Lazarus 1.2.2 herunter zuladen (ich hatte vorher einen internen Compilerfehler, der ist jetzt behoben), allerdings ist seit dem ein neues Problem aufgetreten, was ich bisher nicht hatte.
Delphi-Quellcode:
Path := ExtractFilePath(ParamStr(0));
AssignFile(FFile, Path+'MyFile.dat');
if FileExists(Path+'MyFile.dat') then ReSet(FFile)
else ReWrite(FFile);
Beim ReWrite kommt die Exception: File not found. Bislang hat der obige Code bei mir immer funktioniert.
Weiß einer, woran das liegen könnte?
Der Fehler sitzt immer vor dem Computer...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: ReWrite() findet kein File?

  Alt 10. Mai 2014, 10:44
Nach der Doku von Lazarus zu Tippen fehlt bei deinem Code ein Pfadtrenner (\ bzw /) zwischen Pfad und Dateiname, da ExtractFilePath den letzten Pfadtrenner nicht mitliefert.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
TForm1

Registriert seit: 11. Jan 2014
128 Beiträge
 
FreePascal / Lazarus
 
#3

AW: ReWrite() findet kein File?

  Alt 10. Mai 2014, 10:50
Auch mit Pfadtrennern funktioniert es nicht.
Das Problem kommt ja auch erst beim ReWrite, ansonsten hätte es ja schon vorher eine Exception gegeben, oder?
Der Fehler sitzt immer vor dem Computer...
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: ReWrite() findet kein File?

  Alt 10. Mai 2014, 11:10
AssignFile wirft keine Exception.

Hast du schon mal so komische Sachen versucht, wie den Dateinamen einer Variablen zuzuweisen, diese Variable im weiteren Code zu benutzen und mit dem Debugger dir den Wert der Variablen nach der Zuweisung angeschaut?

Wäre mein erster Gedanke ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: ReWrite() findet kein File?

  Alt 10. Mai 2014, 11:38
Daß Rewrite eine Exception File not found wirft kann ich nicht recht glauben?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: ReWrite() findet kein File?

  Alt 10. Mai 2014, 11:58
Jo da liegst Du richtig
Delphi-Quellcode:
  assignfile(ff,'c:\tempbubu');
  rewrite(ff);
  writeln(ff,'erstezeile');
  closefile(ff);
Keine Fehlermeldung und keine Datei!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
TForm1

Registriert seit: 11. Jan 2014
128 Beiträge
 
FreePascal / Lazarus
 
#7

AW: ReWrite() findet kein File?

  Alt 10. Mai 2014, 12:02
Der Pfad, der mit ExtractFilePath(ParamStr(0)), erstellt wird, ist richtig (übrigens nimmt er sehr wohl einen Pfadtrenner am Ende).
Die Exception ist übrigens eine vom Typ EInOutError. Grundsätzlich müsste es also funktionieren.
Der Fehler sitzt immer vor dem Computer...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: ReWrite() findet kein File?

  Alt 10. Mai 2014, 12:23
Keine Fehlermeldung und keine Datei!
Zitat:
Die Compiler-Option {$I+} behandelt Laufzeitfehler mittels Exceptions. Wenn Sie {$I-} verwenden, müssen Sie mit IOResult explizit auf E/A-Fehler prüfen.

Und ohne Pfadtrenner am Ende müsste eigentlich ExtractFileDir sein.
Ich hoffe mal, daß es hier nur ein Dokumentationsfehler ist.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: ReWrite() findet kein File?

  Alt 10. Mai 2014, 12:34
Wo liegt den eigentlich die Exe? Unter einem Pfad der ab Vista per Virtualisierung umgebogen ist? Evtl hast du damit Probleme.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
TForm1

Registriert seit: 11. Jan 2014
128 Beiträge
 
FreePascal / Lazarus
 
#10

AW: ReWrite() findet kein File?

  Alt 10. Mai 2014, 12:53
Wo liegt den eigentlich die Exe? Unter einem Pfad der ab Vista per Virtualisierung umgebogen ist? Evtl hast du damit Probleme.
Bei mir liegt die Exe nirgendwo, denn mein OS ist Mac.
Das Programm liegt bei mir ganz normal im Projektordner, unter documents.
Allerdings erstellt Lazarus das Bundle so, dass die Unix- Datei nicht im Programmbundle erzeugt wird sondern im Projektordner mit einem Alias ins Bundle. Ich denke aber nicht, das darin der Fehler liegt, schließlich war das schon immer so.

Wenn ich Suche Deklaration von ReWrite() mache, lande ich in Systemh.inc, wobei es ja mehrere ReWrite- Prozeduren gibt. Ich denke das ist einfach ein Bug von Lazarus, denn ich komme immer wieder auf anderen ReWrite()- Prozeduren heraus, mit anderen Parametern. Auch darin sollte kein Problem liegen, schließlich kompiliert der Compiler alles so wie er's soll.
Der Fehler sitzt immer vor dem Computer...

Geändert von TForm1 (10. Mai 2014 um 12:55 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 05:50 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