![]() |
TMemIniFile neu einlesen
Hallo!
Ich benutze ein TMemIniFile zum speichern der Konfiguration. Die ganze Konfiguration soll über die INI Datei passieren, also kein GUI. Wie kann ich den Befehl "Reload Config" realisieren? Es soll hierbei die Datei neu eingelesen werden, falls etwas verändert wurde. Grüße Faux |
Re: TMemIniFile neu einlesen
Hallo,
du könntest das Verzeichnis mit der Konfigurationsdatei überwachen und auf Änderungen an der Datei reagieren. Alternativ könntest du eine externe Überwachung implementieren die deine Anwendung benachrichtigt. Grüße vom marabu |
Re: TMemIniFile neu einlesen
Danke für die Antwort, aber so aufwändig will ich das gar nicht machen. Der Benutzer soll selbst im Menü wählen "Konfiguration JETZT neu einlesen".
Hört sich leicht an, aber wie lese ich ein TMemIniFile neu ein? |
Re: TMemIniFile neu einlesen
Zitat:
Zitat:
Willst Du allerdings die Konfiguration automatisch neu laden sobald die ini-Datei von aussen verändert wurde, könntest du in regelmässigen Abständen den Timestamp der ini-Datei prüfen und gegebenfalls dann neu laden. |
Re: TMemIniFile neu einlesen
Moin Tom,
Zitat:
![]() Solche Änderungen sollten ja nicht so häufig auftreten. Wobei natürlich MemIniFile den Nachteil hat, dass die Datei bei einer Änderung nicht gleich neu geschrieben wird, da müsste man dann bei jeder Änderung schon UpdateFile aufrufen. |
Re: TMemIniFile neu einlesen
Tach zusammen,
ich glaube das geht alles an seiner Fragestellung vorbei - obwohl gute Vorschläge, werd ich mir auch mal anschauen... :-) Seine Frage war doch: Wie lese ich ein TMemIniFile neu ein - der Benutzer triggert dies ja. Und vielleicht ist die Antwort einfach:
Delphi-Quellcode:
jetzt ist die Collection der Werte neu eingelesen.
MyMemIniFile.Free;
MyMemIniFile := tMemIniFile.Create(meinIniFilename); Sollte ich die Aufgabe falsch verstanden haben, ignoriert einfach meinen Post. :oops: Gruss |
Re: TMemIniFile neu einlesen
Jup, thkerkmann, das wars. ;)
Aber wird bei MemIniFile.Free nicht der Cache in die Datei geschrieben, also alle Änderungen überschrieben? Grüße Faux |
Re: TMemIniFile neu einlesen
Moin Faux,
Zitat:
|
Re: TMemIniFile neu einlesen
Zitat:
Eindeutige Antwort: Bei
Delphi-Quellcode:
wird nix zurückgeschrieben.
MemIniFile.Free;
Dazu gibt es eine extra Methode, nämlich
Delphi-Quellcode:
Gruss
MemIniFile.UpdateFile;
|
Re: TMemIniFile neu einlesen
Moin Thomas,
Zitat:
Auch wenn es, mehr oder weniger, dokumentiert, ist, halte ich dieses Verhalten für einen Fehler in der Implementierung. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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