Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2562
Erhaltene Danke: 46

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Do 14.09.06 17:00 
Hallo!

Wie macht ihr denn das: Öffnet ihr in euren Programmen die ini-Datei für jeden Lese-/Schreibzugriff separat und schliesst sie dann wieder, oder öffnet ihr sie beim Programmstart (zB. in FormCreate) und schliesst sie erst in FormClose wieder?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Do 14.09.06 17:50 
Hi galagher: Ich würde Resourcen, gleich welcher Art, nur so lange öffnen, wie es unbedingt notwendig ist.

_________________
Na denn, dann. Bis dann, denn.
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2562
Erhaltene Danke: 46

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Do 14.09.06 18:15 
Danke! Ich dachte nur, es sei doch praktischer, das nur jeweils einmal zu tun! Aber klar, es verschwendet Speicher, wenn auch nur minimal!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
freak4fun
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 604
Erhaltene Danke: 4

Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
BeitragVerfasst: Do 14.09.06 22:51 
user profile icongalagher hat folgendes geschrieben:
Öffnet ihr in euren Programmen die ini-Datei für jeden Lese-/Schreibzugriff separat und schliesst sie dann wieder, oder öffnet ihr sie beim Programmstart (zB. in FormCreate) und schliesst sie erst in FormClose wieder?


Das kommt auf die Häufigkeit an. Wenn ich ein Programm hab, das ständig Lese- und Schreibzugriff auf eine Ini brauch, wie zB ein Adressbuch habe ich eine Variable. Wenn ich aber nur eine Funktion hab, die beim Start ein Passwort abfragt und irgendwo noch eins setzt, dann öffne ich die Ini über lokale Variablen. Obwohl ich mir auch nicht immer sicher bin, wo da die Grenze ist. MAch einfach was dir besser passt. ;)

MfG
freak

_________________
"Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 14.09.06 23:42 
@freak4fun: Und wenn dein Programm abstürzt oder abgeschossen wird, sind alle Änderungen verloren. Schließt du aber die Datei jedes mal wieder, minimierst du den eventuellen Datenverlust. Davon mal abgesehen, dass Ini-Dateien dafür nicht gedacht sind. Sie sind urspünglich dazu gedacht, einmal beim Programmstart Einstellungen zu lesen und beim Beenden oder beim Ändern der Einstellungen, sie wieder zu schreiben. Deswegen macht es auch nichts aus, dass jedes mal die ganze Datei geschrieben wird, wie es bei Ini-Dateien der Fall ist. Idealerweise nimmt man für deine Anforderugen entweder eine Datenbank, typisierte Dateien oder XML Dateien.
freak4fun
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 604
Erhaltene Danke: 4

Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
BeitragVerfasst: Fr 15.09.06 08:31 
Da haste deine Antwort galagher. ;)

Danke Luckie, wieder was dazugelernt. :zustimm:

MfG
freak

_________________
"Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Mo 18.09.06 12:06 
user profile icongalagher hat folgendes geschrieben:
Hallo!

Wie macht ihr denn das: Öffnet ihr in euren Programmen die ini-Datei für jeden Lese-/Schreibzugriff separat und schliesst sie dann wieder, oder öffnet ihr sie beim Programmstart (zB. in FormCreate) und schliesst sie erst in FormClose wieder?


Hallo,

wenn man nur die Win32-Funktionen benutzt (GetPrivateProfileInt u.a.), dann erhebt sich die Frage so nicht: INI-Zugriffe werden von Windows gecacht und optimiert. Es gibt auch keine Befehle zum Öffnen oder Schliessen.

Ich habe für INI-Operationen längst eigene Klassen geschrieben, die das Einlesen beim Start und das Rückschreiben am Ende automatisch erledigen, aber die gehen alle auf diese Windows-Funktionen zurück.

Gruss Reinhard