Autor Beitrag
Gabberman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 55



BeitragVerfasst: Mo 15.01.07 19:42 
Hy an alle,
ich hab ma wieder ein Problem.
In meinem Programm gibt es folgende Routine:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
  AssignFile(optionen, 'data/optionen.dat');
  Reset(optionen);
  AssignFile(optionen_neu, 'data/optionen.tmp');
  Rewrite(optionen_neu);
  for i:=0 to (optioncolour-1do begin
    Readln(optionen, ausgelesen);
    Writeln(optionen_neu, ausgelesen);
  end;
  Writeln(optionen_neu, farbeausgewaehlt.caption);
  while not EOF(optionen) do begin
    Readln(optionen, ausgelesen);
    Writeln(optionen_neu, ausgelesen);
  end;
  farbeausgewaehlt.Caption:='';
  CloseFile(optionen);
  DeleteFile('data/optionen.dat');
  Reset(optionen_neu);
  AssignFile(optionen, 'data/optionen.dat'); 
  Rewrite(optionen); //Hier gibts jetzt den E/A-Fehler 32


Also zur Erklärung:
Es wird quasi eine Änderung in einer .dat Datei vorgenommen. Eigentlich nicht so schwer. Der ließt halt alles bis zum zu ändernden aus der alten Datei, schreibt das ausgelesene in eine .tmp datei. Dann werden beide geschlossen. Die .dat soll gelöscht und wieder neu erstellt werden um dann zu guterletzt alles aus der .tmp wieder in die .dat zu schreiben.
So weit so gut. Nu kommt an markierter Stelle immer der E/A-Fehler und ich hab echt keinen Plan was falsch sein soll!!!

Ich hoffe, dass jemand von euch mir helfen kann!!!

Gruß

Gabberman

[mod="Tino"]Im Titel "Ich glaub ich bin zu doof:" entfernt.
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Mo 15.01.07 19:44 
(1) verwende nie relative Pfade, sondern immer absolute!
(2) schau dir mal CopyFile an!

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Gabberman Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 55



BeitragVerfasst: Mo 15.01.07 19:47 
sorry aber davon kannst du mich nicht überzeugen. Das kann auch nicht der Fehler sein. Hab ich schon probiert:
ausblenden Delphi-Quelltext
1:
2:
GetDir(0,path)
path:=path + 'data/optionen.tmp';

und so weiter... ging auch ni!!!
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mo 15.01.07 19:47 
Vielleicht solltest du dir erstmal darüber im klaren werden, was dieser Fehler bedeutet:
Zitat:

EA-Fehler 32 ist eine "Sharing Violation", das bedeutet, dass die Datei gerade noch von einem anderen oder deinem Programm offen gehalten wird.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Gabberman Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 55



BeitragVerfasst: Mo 15.01.07 19:48 
Ja ich hab die Fehlerbeschreibung in der Hilfe auch gelesen, aber ich weiß das niemand anderes darauf zugreift!!!
Sorry, aber es hat sich grade selber erledigt... :oops: Danke trotzdem!!!


Zuletzt bearbeitet von Gabberman am Mo 15.01.07 19:51, insgesamt 1-mal bearbeitet
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mo 15.01.07 19:50 
OK, ich hab grad gesehn, dass du die Datei schonmal lädst...
Probier mal ein sleep mit nem Wert von 1000 (erstmal zum Testen nen so hohen Wert), weil Windows vllt. nicht mit dem Verwalten der Dateizeiger hinterherkommt. Wenns dann klappt, kannste den Wert schrittweise verkleinern.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10184
Erhaltene Danke: 1259

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 15.01.07 19:51 
Moin!

Warum nimmst du keine INI-Datei? ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.