AGB  ·  Datenschutz  ·  Impressum  







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

EInOutError mit Write

Ein Thema von TheReaper · begonnen am 12. Dez 2004 · letzter Beitrag vom 12. Dez 2004
Antwort Antwort
TheReaper

Registriert seit: 27. Feb 2003
Ort: chemnitz
90 Beiträge
 
Delphi 2005 Personal
 
#1

EInOutError mit Write

  Alt 12. Dez 2004, 00:15
Guten Morgen!

Ich hab seit neuestem ein Problem mit dem Code:

Delphi-Quellcode:
...

for i:=delete to (filesize(f1)-1) do
begin
   seek(f1,i);
   read(f1,liste);
   seek(f1,i-1);
   Write(f1,liste); //<-- Hier ist der Fehler
end;
seek(f1,filesize(f1)-1);
truncate(f1);

...
Es kommt ein EInOutError mit Fehlercode 2 (Dateizugriff verweigert). Ich hab allerdings keinen blassen schimmer warum. Die Prozedur ging früher ohne Probleme. Hab auch seid Wochen nichts mehr dran geändert. Der war auf einmal von heute auf morgen da. Den Code der später ins Programm dazu kam, hat damit nichts zu tun. Also kanns daran nicht liegen. Hat jemand ne Ahnung?
Keine Ahnung ob es wichtig ist aber das ist ne untypisierte Datei.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: EInOutError mit Write

  Alt 12. Dez 2004, 00:38
Hi!

Wie öffnest du die Datei denn?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#3

Re: EInOutError mit Write

  Alt 12. Dez 2004, 00:56
hast du schreib/lese-rechte für die datei geändert bzw sie verschoben/gelöscht?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
TheReaper

Registriert seit: 27. Feb 2003
Ort: chemnitz
90 Beiträge
 
Delphi 2005 Personal
 
#4

Re: EInOutError mit Write

  Alt 12. Dez 2004, 12:53
Ich öffne die Datei ganz normal mit
Delphi-Quellcode:
AssignFile(f1, 'bla.bla');
{$I-}
reset(f1);
if IOResult<>0 then Rewrite(f1);
{$I+}
Schreib- , Leserechte hab ich nicht geändert. Daten aus der Datei lesen geht ohne Probs. Nur mit dem Schreiben gehts nich.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#5

Re: EInOutError mit Write

  Alt 12. Dez 2004, 13:23
Hi!

Hast du mal das IOResult nach dem Rewrite geprüft?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
TheReaper

Registriert seit: 27. Feb 2003
Ort: chemnitz
90 Beiträge
 
Delphi 2005 Personal
 
#6

Re: EInOutError mit Write

  Alt 12. Dez 2004, 13:40
Wie gesagt, Ich kann Datensätze lesen. Also wird das File auch Fehlerfrei geöffnet.
Ich hab nochmal versucht ein Datensatz zu ändern/anzulegen, und es hat funktioniert, obwohl ich nicht ein Bit an dem ganzen Code verändert habe. Keine Ahnung warum es aufeinmal geht. (Bug im Delphi???)
  Mit Zitat antworten Zitat
TheReaper

Registriert seit: 27. Feb 2003
Ort: chemnitz
90 Beiträge
 
Delphi 2005 Personal
 
#7

Re: EInOutError mit Write

  Alt 12. Dez 2004, 17:52
Funktioniert schon wieder nicht. Hab an dem Code nichts geändert. Er meckert immer rum das keine zugriffsrechte vorhanden sind. Kann mir jemand helfen?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: EInOutError mit Write

  Alt 12. Dez 2004, 17:55
Hi!

Greift vielleicht ein anderes Programm auf die Datei zu?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
TheReaper

Registriert seit: 27. Feb 2003
Ort: chemnitz
90 Beiträge
 
Delphi 2005 Personal
 
#9

Re: EInOutError mit Write

  Alt 12. Dez 2004, 18:02
nee, nur andere Prozeduren. Ich versuch das mal mit FileMode:=2; zu machen. Soweit scheint das jetzt zu funzen.
Delphi-Quellcode:
...

for i:=delete to (filesize(f1)-1) do
begin
   FileMode:=2;
   reset(f1);
   seek(f1,i);
   read(f1,liste);
   seek(f1,i-1);
   Write(f1,liste);
end;
seek(f1,filesize(f1)-1);
truncate(f1);

...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: EInOutError mit Write

  Alt 12. Dez 2004, 23:33
Bist du sicher, dass du die Datei auch wieder schließt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:22 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