AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IniDateien

Ein Thema von colaflasche · begonnen am 24. Aug 2020 · letzter Beitrag vom 24. Aug 2020
 
colaflasche

Registriert seit: 1. Jun 2007
33 Beiträge
 
#1

IniDateien

  Alt 24. Aug 2020, 14:52
Guten Tag,

ich habe seit Jahr und Tag folgenden Code in meiner Anwendung um eine Inidatei zu schreiben (vereinfachte Darstellung). Der Code hat auch immer funktioniert.
Schreiben von Daten per TMemIniFile, dann schreiben von Daten per TINIFile. Warum auch immer man das so macht ist egal, es hat funktioniert.

Nun habe ich schon ein paar mal das PRoglem gehabt, dass es nicht mehr funktioniert hat und die Ini-Sektion danach zweimal in der selben Ini-Datei stand. Bei einem Kunden hat das jetzt auf 7 Rechner geklappt, auf 3 nicht. Zusätzlich habe ich das Problem bei 2 anderen Kunden festgestellt.

Code:
procedure TForm6.Button2Click(Sender: TObject);
var
  lDateiName: string;
  lMemInifile: TMemIniFile;
  lInifile: TIniFile;
begin
  lDateiName := '.\Meine.ini';
  lMemInifile := TMemIniFile.Create(lDateiName);
  try
    lMemInifile.WriteString('SEKTION', 'KEY1', 'VALUE1');
    lMemInifile.UpdateFile;
  finally
    FreeAndNil(lMemInifile);
  end;

  lInifile := TIniFile.Create(lDateiName);
  try
    lInifile.WriteString('SEKTION', 'KEY2', 'VALUE2');
  finally
    FreeAndNil(lInifile);
  end;
end;
Wenn ich den Code umstelle, so dass ausschließlich TMemIniFiles verwendet werden, habe ich das Problem nicht mehr:

Code:
procedure TForm6.Button2Click(Sender: TObject);
var
  lDateiName: string;
  lMemInifile: TMemIniFile;
  lInifile: TMemIniFile;
begin
  lDateiName := '.\Meine.ini';
  lMemInifile := TMemIniFile.Create(lDateiName);
  try
    lMemInifile.WriteString('SEKTION', 'TEST', 'VALUE1');
    lMemInifile.UpdateFile;
  finally
    FreeAndNil(lMemInifile);
  end;

  lInifile := TMemIniFile.Create(lDateiName);
  try
    lInifile.WriteString('SEKTION', 'TEST2', 'VALUE2');
    lInifile.UpdateFile;
  finally
    FreeAndNil(lInifile);
  end;
end;
Wie ich das löse ist mir klar, aber was mich interessieren würde, woher kommt das Problem so plötzlich? Wurde da durch ein Windows-Update was am Ini-File-Handling geändert? Ist da jemandem was bekannt?
Gruß Jan

Geändert von colaflasche (24. Aug 2020 um 16:08 Uhr)
  Mit Zitat antworten Zitat
 


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 09:07 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