![]() |
Fehler: "In .....\SetUp.Ini kann nicht geschrieben werd
Hallo.
Delphi-Quellcode:
Hier passiert folgendes:
procedure WriteProgramsToIniFile;
var i,j : integer; ini : TIniFile; begin i := FSetUp.LBoxSetUp.Count; for j := 0 to i - 1 do begin ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + IFN); if FileExists(ExtractFilePath(Application.ExeName) + IFN) then ShowMessage('OK') else ShowMessage('MIST'); try ini.WriteString('Programme', FSetUp.LBoxSetUp.Items[j], ''); ShowMessage(IntToStr(j)); finally ini.Free; end; end; end; Wenn das Programm erstmals gestartet wird - d.h. noch keine Ini-Datei vorhanden ist - wird die Datei erzeugt, Showmessage zeigt "OK" und dann bricht das Programm mit der o.a. Fehlermeldung ab. Die Datei wurde zwar erstellt, ist jedoch leer. Wird das Programm dann noch einmal gestartet, werden die Einträge in die Datei geschrieben und alles ist gut. Hat dafür jemand eine Erklärung? Gruß Jürgen [edit=Sharky]Delphi-Tags eingefügt. Mfg, Sharky[/edit] |
Re: Fehler: "In .....\SetUp.Ini kann nicht geschrieben
Hi,
ist zwar nicht konkret zu dem Problem - aber dass kann ich auch grad nicht nachvollziehen - aber was anderes: Wieso holst du dir in jedem Schleifendurchlauf ein neues Ini-Handle? Ich würd dass da rausziehen, etwas so:
Delphi-Quellcode:
Btw würden deinem Code Delphi-Tags auch nicht schaden :mrgreen:
i := FSetUp.LBoxSetUp.Count;
ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + IFN); try for j := 0 to i - 1 do begin ini.WriteString('Programme', FSetUp.LBoxSetUp.Items[j], ''); ShowMessage(IntToStr(j)); end; finally ini.Free; end; Ansonsten zu deiner Anzeige ob die Datei existiert oder nicht - die ist ja irgendwo ein bisschen sinnfrei, vor allem ist es beim ersten mal in der Schleife eigentlich nie so, dass die Datei da sein kann, wenn sie vorher nicht existiert hat, da allein ein TIniFile.Create noch keine Datei erzeugt. Also bei mir funktioniert dass so wie ich das gepostet hab einwandfrei - ein Problem sollte dir aber Gewiss sein (es sei denn, du beabsichtigst das) - es darf für jede Sektion jeden Key nur einmal geben, d.h. hast du in mehrere gleichnamige Items, überschreiben die sich in der Ini. MfG Benedikt |
Re: Fehler: "In .....\SetUp.Ini kann nicht geschrieben
@ Benedikt
Vielen Dank für Deine Hinweise - und sorry für die vergessenen Delphi-Tags. Das mit dem wiederholten Ini-Handle habe ich kapiert. Die ShowMessages sind nur zum Ausprobieren (Debugging des kleinen Mannes!) Zitat:
Inzwischen klappt's auch bei mir: Der Fehler war wohl, dass ich zu einem früheren Zeitpunkt die Ini-Datei schon erzeugt hatte. Gruß Jürgen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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