![]() |
Grenzen von INI
Alles was ich gefunden habe ist schon etwas älter, deshalb wollte ich es noch mal kurz ansprechen. Evtl. gibt es inzwischen neue Erkenntnisse.
Ich überlege in einem Programm mehrere INIs zu einer zusammen zu fügen. Grund ist, dass es auf langsamen System u. U. bis zu einer halben Sekunde dauert bis alles eingelesen ist und das Programm somit starten kann. Das ist nicht lange, aber entweder ich lasse es so und man wundert sich über die lange Ladezeit, baue ein Splashscreen ein damit man sieht, dass da etwas geladen wird, oder ich packe mehrere INIs zu einer INI. Dann wird nur eine Datei geöffnten. Das geht schneller. Die Frage ist wie es nun mit der Größe der INI aussieht. Liegt die Begrenzung immer noch bei 64 KB oder ist das das Schnee von gestern? Wenn ja, auf Welchen Systemen gibt es welche Begrenzungen? Ich meine Win 9x, NT, XP, usw. (falls es einer weiß). Ich hab gerade eine 2 MB große INI erstellt. System XP und Delphi 7. Also bei XP scheint es kein 64 KB grenze zu geben. Die frage ist, seit wenn gibt es die nicht. Das andere ist die länge des Strings der gespeichert werden kann. Ich hab 2047 Byte gezählt. Ist das korrekt, gibt es eine Möglichkeit über die Grenze zu speichern? |
AW: Grenzen von INI
Die 64 K Grenze gibt es spätestens seit D7/XP nicht mehr. Bei TIniFile weiß ich's nicht genau aber bei TMemIniFile können die Strings beliebig lang sein. Schneller sind INI's mit kleinen Abschnitten. (Also besser viele Sections mit wenig Einträgen als wenig Sections mit vielen Einträgen).
|
AW: Grenzen von INI
Hi,
Json ist das neue Ini! Vorteile Json gegenüber Ini: * Mehrzeilige Strings kein Problem * verschachtelte Hierarchien kein Problem * Arrays,... kein Problem * Du hast deine Einstellungen gleich in einer Klasse gekapselt. Du brauchst lediglich einen Parser dazu, bei neueren Delphis (ich glaube ab XE6) ist ja einer von Haus aus verfügbar. Grüße |
AW: Grenzen von INI
Zitat:
Weiterhin frage ich mich, was Du alles in den INI-Dateien drin hast. Wenn es sich um viele gleichförmige Daten handelt, die auch in einer Tabelle platz fänden, käme ein ClientDataSet oder eine kleine Desktop-DB in Frage. Zu ewig langen Konfigurationsdateien (ob nun XML, JSON oder was-weiss-ich) würde ich abraten, dann ist eine DB vermutlich die bessere Wahl. Was für Daten legst Du denn in so einer INI ab? |
AW: Grenzen von INI
Wo ist denn das Problem mit dem Splash-Screen?
Form anzeigen, in einem Thread die Ini-(oder in welchem auch immer gearteten Format-)Daten laden und beim Beenden des Threads die Form wieder entsorgen. Fettich. Das ist kein Aufwand sondern eine Fingerübung zum warm werden. |
AW: Grenzen von INI
Problem mit Splashscreens gibt es dann, wenn es Probleme gibt.
Ich weiß nicht, was Dejan Vu meint, aber ich find sie nur erträglich, wenn alles glatt geht. Ist vielleicht auch ne Frage, wie gut die gemacht sind. Erfahrungswerte zeigen, dass sie im Problemfall eher stören und es gibt mindestens ein Programm, für dass ich schon nach command line Schaltern gesucht hab, um sie auszublenden. Eigenartige StayOnTop Einstellungen, die dafür sorgen, dass die Fehlermeldungen aus dem Ladeprozess überdeckt werden, sodass sich die Form selbst blockiert. |
AW: Grenzen von INI
Hmmm, Exceptions die in einem Thread auftauchen muss ich aktiv zur Anzeige bringen.
Und ja, erst wenn ich es richtig mache, dann funktioniert es richtig ... ist das nicht immer so? |
AW: Grenzen von INI
Zitat:
|
AW: Grenzen von INI
Zitat:
![]() |
AW: Grenzen von INI
Es gab da meine ich auch mal einen SkillSprint oder sowas dazu, ich meine das war der
![]() Edit: Wo war die rote Box? Naja zumindest ist es nicht der selbe Link :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:33 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 by Thomas Breitkreuz