Autor Beitrag
Bronstein
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 578
Erhaltene Danke: 1

WIN XP
Delphi 6 / Delphi 2006 / Delphi XE
BeitragVerfasst: Mo 21.06.10 16:20 
Hallo,
ich bekomme an einem Rechnern folgende Fehlermeldung:
ausblenden Quelltext
1:
2:
Exception EInOutError in Modul XXXX.exe bei 000B2733.
Device write error.


Mein Programm macht eigentlich nichts anderes als Daten von eimem ComPort einzulesen (dazu verwendete ich die Komponete ApdComPort) und in eine Datei zu speichern.

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:
27:
procedure SpeichernScan(Nr, Platz: ShortString);
//Mit dieser Funktion werden die eingescannten Daten lokal abgespeichert
var
  t_Datei: TextFile;
  tmpStr: ShortString;
begin
  try
    tmpStr := ExtractFilePath(ParamStr(0));
    tmpStr := tmpStr + 'ScanDaten\' + FormatDateTime('dd.mm.yyyy', now) + '.txt';
    while IsFileInUse(tmpStr) do
      sleep(10);
    if Fileexists(tmpStr) then
      AssignFile(t_Datei, tmpStr)
    else
    begin
      AssignFile(t_Datei, tmpStr);
      Rewrite(t_Datei);
    end;
    ReSet(t_datei);
    Append(t_Datei);
    DateSeparator := '.';
    WriteLn(t_Datei, Platz + '|' + Nr + '|' + FormatDateTime('dd.mm.yyyy hh:mm:ss', now));
    CloseFile(t_Datei);
  except
    FehlerProtokoll('Fehler beim Speichern;' + Nr + ';' +  Platz, 'Allgemein');
  end;
end;


Das funktioniert auch wunderbar, bei den meisten Rechnern, jetzt habe ich aber einen Rechner bei dem es nicht funktioniert und nach einer gewissen Zeit der oben genannte Fehler auftaucht.

Hat jemand eine Idee wie ich das Problem lösen kann?


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am Mo 21.06.2010 um 16:47

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Mo 21.06.10 16:28 
Du schreibst die Daten in das Programmverzeichnis, das ist schonmal nicht gut. Hast du dort Schreibrechte? Unter Vista und Win 7 ist man standardmäßig ein normaler Benutzer und hat an vielen Orten keine Schreibrechte...
Gammatester
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 328
Erhaltene Danke: 101



BeitragVerfasst: Mo 21.06.10 16:52 
Unabhängig von Andreas L.'s Einwand - der Code muß doch wohl sinnvollerweise
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
if Fileexists(tmpStr) then begin
  AssignFile(t_Datei, tmpStr)
  Append(t_Datei);
end
else begin
  AssignFile(t_Datei, tmpStr);
  Rewrite(t_Datei);
end;

lauten statt
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
if Fileexists(tmpStr) then
  AssignFile(t_Datei, tmpStr)
else
begin
  AssignFile(t_Datei, tmpStr);
  Rewrite(t_Datei);
end;
ReSet(t_datei);
Append(t_Datei);

Außerdem: Bist Du sicher, daß es in dem gezeigten Teil kracht? Warum springt dann die Exception nicht an? Wird die IDE auf die Fehlerstelle positioniert?
Bronstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 578
Erhaltene Danke: 1

WIN XP
Delphi 6 / Delphi 2006 / Delphi XE
BeitragVerfasst: Mo 21.06.10 18:50 
@Andreas L.
Schreibrechte habe ich ja. Wenn ich das Programm neu gestartet habe, funktioniert es ja erstmal ein paar Stunden, bis der Fehler auftritt

@Gammatester
Den Fehler konnte ich noch nicht auf meinem Rechner reproduzieren. Ich habe das Programm ja auf ca. 30 Rechnern laufen und bei zwei steigt es nach x-Stunden aus!

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 21.06.10 22:16 
Kennst du MadExcept?
www.madshi.net/madExceptDescription.htm

Damit kannst du mehr Details zu dem auftretenden Fehler bekommen.