Es gibt auch irgendeinen "Nachfahren" von INI.
Hab nur dessen Namen vergessen. Wobei ich mir fast sicher bin, dass es mehrere Varianten/Implementationen von sowas gibt.
Da hatte irgendjemand eine Klasse geschrieben, die ähnlich einer INI, bzw. StringList (Name=Value) arbeitet, aber zusätzlich eine Text-Einrückung beachtet.
Da hat man dann eine Liste ähnlich eine einfachen
XML/JSON, die aber mehr wie eine INI aussieht.
Ich glaub von Python kenn man auch sowas, wo Verschachtelungen über die Einrückung definiert werden und nicht mit Steuerzeichen/-Befehlen ala { } oder BEGIN END.
Und nein, TMemIniFile hat eigentlich "keine" Begrenzung.
Arbeitet intern mit mehreren TStringList, die intern je ein String-Array haben.
Technische Grenzen für 32-Bit-Anwendung:
- 2 GB
RAM
- 2 GB-String-Zeiger-Array, also 2G / 4 Byte - einen kleinen Verwaltungsoffset = maximal mögliche Zeilen pro StringListe
TIniFile arbeiter über die zugehörige INI-
WinAPI und ja, da gibt es einen schönen "Overhead".
INI (TIniFile) "hatte" mal eine maximale Dateigröße von 64 KB (
Win9x) und die
API ist langsam,
vorallem bei "vielen" Einträgen, da für jeden einzelnen ValueZugriff die Datei komplett neu eingelesen/ausgewertet/gespeichert wird.