Es gibt nur 2 Fehler soweit ich das sehe:
1. (kleiner Fehler)
Delphi-Quellcode:
if FileExists(FileName) then
begin
iniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + INI_FILE_NAME);
FileName bringt ja quasi nix - es wird immer auf die inifile im Programmverzeichnis zurückgegriffen ...
2. (größerer Fehler)
Beim speichern wird über die gesamte Datei gehasht, und dann in der Datei gespeichert. Beim Laden wird wieder über die gesamte Datei - jetzt inkl. Hash - gehasht und mit dem alten verglichen. Glaubst du, dass die beiden jemals gleich sein werden?
Alles klar?