Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   ReWrite() findet kein File? (https://www.delphipraxis.net/180311-rewrite-findet-kein-file.html)

TForm1 10. Mai 2014 09:34

ReWrite() findet kein File?
 
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?

Bernhard Geyer 10. Mai 2014 09:44

AW: ReWrite() findet kein File?
 
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.

TForm1 10. Mai 2014 09:50

AW: ReWrite() findet kein File?
 
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?

Sir Rufo 10. Mai 2014 10:10

AW: ReWrite() findet kein File?
 
Delphi-Quellcode:
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 ...

Bjoerk 10. Mai 2014 10:38

AW: ReWrite() findet kein File?
 
Daß Rewrite eine Exception File not found wirft kann ich nicht recht glauben?

p80286 10. Mai 2014 10:58

AW: ReWrite() findet kein File?
 
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

TForm1 10. Mai 2014 11:02

AW: ReWrite() findet kein File?
 
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. :gruebel:

himitsu 10. Mai 2014 11:23

AW: ReWrite() findet kein File?
 
Zitat:

Zitat von p80286 (Beitrag 1258490)
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.

Bernhard Geyer 10. Mai 2014 11:34

AW: ReWrite() findet kein File?
 
Wo liegt den eigentlich die Exe? Unter einem Pfad der ab Vista per Virtualisierung umgebogen ist? Evtl hast du damit Probleme.

TForm1 10. Mai 2014 11:53

AW: ReWrite() findet kein File?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1258494)
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. :wink:
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.
Seite 1 von 3  1 23      

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-2025 by Thomas Breitkreuz