Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#19

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 16. Jul 2009, 10:06
Zitat von Daniel Schuhmann:
Zitat von Progman:
wenn er sie nicht findet, kommts zum Crash in der ntdll.dll, jedenfalls meistens ;)
Nein, beim Lesen nicht, nur beim Schreiben.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Ini: TIniFile;
  SL: TStringList;
begin
  Ini := TIniFile.Create('NUL');
  SL := TStringList.Create;
  Ini.ReadSections(SL);
  SL.Free;
  Ini.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create('NUL');
  Ini.WriteString('Test', 'Test1', 'Val1');
  Ini.Free;
end;
Nur bei der Schreibroutine kracht es. Wenn beim Lesen ein Fehler auftritt, wird der Standardwert angenommen.
Also wer auch einen illegalen und verbotenen Dateinamen verwendet, da ist es kein Wunder das es kracht. Afaik sollte es sogar hier durch den Dateinamen bei beiden Aufrufen knallen.

Siehe auch MSDN: File Names, Paths, and Namespaces dort unter Basic Naming Conventions. Warum sollte jedem DOS/Shell Nutzer bekannt sein.
  Mit Zitat antworten Zitat