![]() |
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:
Beim ReWrite kommt die Exception: File not found. Bislang hat der obige Code bei mir immer funktioniert.
Path := ExtractFilePath(ParamStr(0));
AssignFile(FFile, Path+'MyFile.dat'); if FileExists(Path+'MyFile.dat') then ReSet(FFile) else ReWrite(FFile); Weiß einer, woran das liegen könnte? |
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.
|
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? |
AW: ReWrite() findet kein File?
Delphi-Quellcode:
wirft keine Exception.
AssignFile
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 ... |
AW: ReWrite() findet kein File?
Daß Rewrite eine Exception File not found wirft kann ich nicht recht glauben?
|
AW: ReWrite() findet kein File?
Jo da liegst Du richtig
Delphi-Quellcode:
Keine Fehlermeldung und keine Datei!
assignfile(ff,'c:\tempbubu');
rewrite(ff); writeln(ff,'erstezeile'); closefile(ff); Gruß K-H |
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: |
AW: ReWrite() findet kein File?
Zitat:
Zitat:
Und ohne Pfadtrenner am Ende müsste eigentlich ExtractFileDir sein. Ich hoffe mal, daß es hier nur ein Dokumentationsfehler ist. |
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.
|
AW: ReWrite() findet kein File?
Zitat:
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. |
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