AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein EInifileException Fehler beim Schreiben der Inidatei
Thema durchsuchen
Ansicht
Themen-Optionen

EInifileException Fehler beim Schreiben der Inidatei

Ein Thema von freedy · begonnen am 13. Jul 2011 · letzter Beitrag vom 13. Jul 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.379 Beiträge
 
Delphi 12 Athens
 
#1

AW: EInifileException Fehler beim Schreiben der Inidatei

  Alt 13. Jul 2011, 13:28
Bei Ini := TInifile.Create(Inifilename); // Inifilename enthält einen definitiv gültigen Dateinamen kann definitiv niemals ein solcher Fehler aufteten.
(außer bei OutOfMemory ... also nichtmal mehr 8 Byte frei oder z.B. bei vorherrigen Speicherfehlern)

Wenn aber z.B. gleichzeitig ini.Write..., ini.Read... oder Dergleichen gleichzeitig auf die selbe Datei gehen, dann kann es schonmal knallen.
Genauso wenn keine Zugriffsrechte bestehen oder etwas Anderes den Zugriff blockt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (13. Jul 2011 um 13:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#2

AW: EInifileException Fehler beim Schreiben der Inidatei

  Alt 13. Jul 2011, 13:49
Es wäre vielleicht günstig gewesen, die Art der Exception zu nennen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: EInifileException Fehler beim Schreiben der Inidatei

  Alt 13. Jul 2011, 14:21
Es wäre vielleicht günstig gewesen, die Art der Exception zu nennen.
Meinst du den TE? Denn wenn ja, dann steht die Exception ja im Thread-Titel -> EIniFileException.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#4

AW: EInifileException Fehler beim Schreiben der Inidatei

  Alt 13. Jul 2011, 14:23
Jetzt, wo Du es sagst
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: EInifileException Fehler beim Schreiben der Inidatei

  Alt 13. Jul 2011, 14:32
TIniFile/ TMemIniFile benötigen die Datei exklusiv. Diese wird vermutlich aber von einem anderen Prozess benutzt.

Delphi-Quellcode:
procedure Wait (var N: integer);
var
  fTime: Cardinal;
begin
  fTime:= GetTickCount;
  repeat until (GetTickCount-fTime) > 500;
  N:= N+1;
end;


function IsFileReadyForOpen (const FileName: string): boolean;
var
  N, IO: integer;
  F: TextFile;
begin
  N:= 0;
  AssignFile(F, FileName);
  repeat
    {$I-} Reset(f); {$I+}
    IO:= IOResult;
    if IO <> 0 then Wait(N);
  until ((IO = 0) or (N = 10));
  Result:= (IO = 0);
  if Result then
    closeFile(f)
  else
    MessageDlg(Application.ExeName+': '+FileName+' ['+SysErrorMessage(IO)+'].', mtWarning, [mbOK], 0);
end;


var
  Ini : TInifile;
begin
  if not IsFileReadyForOpen (Inifilename) then Exit;

Geändert von Bjoerk (13. Jul 2011 um 14:55 Uhr) Grund: Code
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#6

AW: EInifileException Fehler beim Schreiben der Inidatei

  Alt 13. Jul 2011, 14:41
Wie schon erwähnt wurde ruft WriteString auch nur WritePrivateProfileString auf. Im MSDN findet sich dann Folgendes dazu:
Zitat:
Return Value

If the function successfully copies the string to the initialization file, the return value is nonzero.

If the function fails, or if it flushes the cached version of the most recently accessed initialization file, the return value is zero. To get extended error information, call GetLastError.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 21:44 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