AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Fehler: "In .....\SetUp.Ini kann nicht geschrieben werden"
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler: "In .....\SetUp.Ini kann nicht geschrieben werden"

Ein Thema von gfjs · begonnen am 12. Aug 2008 · letzter Beitrag vom 12. Aug 2008
Antwort Antwort
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#1

Fehler: "In .....\SetUp.Ini kann nicht geschrieben werd

  Alt 12. Aug 2008, 16:42
Hallo.
Delphi-Quellcode:
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;
Hier passiert folgendes:

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]
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#2

Re: Fehler: "In .....\SetUp.Ini kann nicht geschrieben

  Alt 12. Aug 2008, 16:56
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:
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;
Btw würden deinem Code Delphi-Tags auch nicht schaden

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
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Fehler: "In .....\SetUp.Ini kann nicht geschrieben

  Alt 12. Aug 2008, 17:13
@ 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 von Benedikt:
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.
Die Schlüssel werden aus der Listbox ausgelesen und sind alle verschieden. Die Werte ('') werden erst später nach Eingabe durch den Anwender in die Datei geschrieben.

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
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  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 06:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz