Autor Beitrag
p4nsen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 14.11.03 13:25 
hab da so ne tolle fehlermeldung in meinem progg :shock: , würde nur gern mal wissen wo mögliche fehlerquellen liegen könnten
der fehler lautet wortwörtlich wiefolgt:
Zitat:
Im Projekt "Name.exe" ist eine Exception der Klasse EInOutError aufgetreten. Meldung 'E/A-fehler 32'. Prozess wurde angehalten. Mit einzelnen .... usw.

was kann ich da jetzt machen, wo sollte ich als 1. nachschaun... der fehler tritt halt immer wenn ich speicher auf... da stimmt irgendwas beim dateischreiben nicht, glaube ich.

thx schonma

Moderiert von user profile iconTino: Quote-Tags hinzugefügt; Titel geändert; Topic verschoben.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Fr 14.11.03 13:43 
Hi,

allgemeine Frage allgemeine Antwort:

Delphi-Hilfe hat folgendes geschrieben:
EInOutError ist die Exception-Klasse für Fehler bei der Dateieingabe/-ausgabe.


Wenn du genau wissen möchtest, warum der Fehler bei dir auftritt, solltest du uns schon mehr Angaben liefern und vor allem deinen Code zum Dateischreiben.

MFG

- Ernesto -
p4nsen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 14.11.03 13:57 
naja das mit dem code würd eventuell auch net unbedingt viel helfen, ich poste ihn trotzdem ma
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
<span style="font-weight: bold">procedure</span> TFPara.Schreibe_Dat;
<span style="font-weight: bold">var</span>
 f01 : TextFile;
 i   : integer;
 dat : string;
begin
 dat := 'test.dat';
 SetLength(zahl , nz + 1); //nz-am anfang festzulegende zahl
 AssignFile(f01 , ppf + dat);
 if FileExists (ppf + 'initest.ini'then begin //ppf-projektpfad
  if Vergleich(1, dat) then begin //prüfung
   //Ausgang_Ansicht;
   exit;
  end;
 end;
 Rewrite(f01);
 Writeln(f01, nx,'          ', ny,'          ', nz);
 for i := 1 to nz do begin
  if RB04.Checked then begin
   zahl[i] := StrToFloat(Tab01.Cells[1 , i]);
  end;
  Writeln(f01, zahl[i]);
 end;
 CloseFile(f01);
end;


Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.
JoelH
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 806
Erhaltene Danke: 17

Win10
Delphi Alexandria 11.2 Patch 1
BeitragVerfasst: Fr 14.11.03 14:02 
Titel: hmm,
und ich welcher Zeile passiert der Fehler dann ?

_________________
mfg. Joel
p4nsen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 14.11.03 14:08 
der fehler passiert beim Rewrite(f01);
wenn die datei halt angelegt werden, bzw. neu geschrieben werden soll
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Fr 14.11.03 14:14 
Hallo
zeig mal bitte deine Ladenprocedure und benutzt bitte delphi-tags und keine quote tags.

kann es sein, daß du beim laden vergißt, die Datei zu schließen?

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
p4nsen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 14.11.03 14:26 
schließen tu ich die datei schon, hier ma meine laden/lesen funktion


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
function TFPara.Lese_Dat(wahl : integer) : boolean;
var
 f01   : TextFile;
 i : integer;
 dat   : string;

begin
 result := False;
 dat := 'test.dat';
 SetLength(zahl, nz + 1);
 AssignFile(f01 , ppf + dat);
 Reset(f01);
 Readln(f01, v_nx, v_ny, v_nz);
 if Vergleich(1 , dat) then begin
  //Ausgangs_Ansicht;
  result := True;
  exit;
 end;
 case wahl of
  1:  for i := 1 to nz do begin
       Readln(f01, zahl[i]);
      end;
  2:  exit;
 end;
 CloseFile(f01);
end;


Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Fr 14.11.03 14:34 
Du könntest dir mit den Delphi-tags ruhig etwas mühe geben :roll: das macht den code leserlicher

p4nsen hat folgendes geschrieben:
schließen tu ich die datei schon, hier ma meine laden/lesen funktion

sicher?

du öffnest die
Zitat:

function TFPara.Lese_Dat(wahl : integer) : boolean;
...
AssignFile(f01 , ppf + dat);
Reset(f01);
...


und schließt die wieder
Zitat:

CloseFile(f01);

dazwischen sehe ich jede menge exit´s. wenn ein exit angesprochen , wird dein closefile nie erreicht, die datei bleibt offen und ist höchstwahrscheinlich deine Exception ursache.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
p4nsen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 14.11.03 14:49 
lol :lol: ok hast recht, durch meinen 2. case fall ist der fehler entstanden ^^
hab den zweig jetzt ganz weggelassen, da er so oder so eine unnütze funktion hatte
danke nochma bin echt fast verzweifelt :roll: :roll:
thxxxxxxxxxxxxxxxx :D