Forum: Sonstige Fragen zu Delphi
by himitsu,
15. Nov 2013
Einfach mal mehrere Programme/Threads mit diesem Code ausführen und die 10 Minuten warten, ob es knallt.
with TIniFile.Create('text.ini') do
try
Ident := 'Ident' + IntToStr(GetCurrentThreadId);
Start := GetTickCount;
Errors := 0;
Counter := 0;
while GetTickCount - Start < 1000*60*10 do begin // 10 Minuten testen
WriteInteger('Section', Ident, Counter);
...
Forum: Sonstige Fragen zu Delphi
by himitsu,
15. Nov 2013
Da hier jeder einzelne Zugriff auf die Werte einen Schreibzugriff darstellen und nicht alles vom Create bis zum Free einen gemeinsamen Zugriff darstellt (am Anfang auslesen und erst am Ende alles speichern),
Gehen die Zugriffe recht schnell, aber wenn z.B. zwei WriteInteger fast zur selben Zeit ausgeführt werden
Programm 1 liest die Datei ein und verändert im Arbeitsspeicher den Inhalt für...
Forum: Sonstige Fragen zu Delphi
by himitsu,
14. Nov 2013
TIniFile synchronisiert rein garnichts, ABER
Jeder einzelne Schreibzugriff auf die INI, also jedes einzelne WriteInteger usw. liest diese Datei erneut aus, händert den Wert und schreibt die Datei sofort zurück.
Globale Einstellungen sollten aber auch global sein und sowas sollte sich eigentlich selten ändern.
Einstellungen für die einzelnen Instanzen sollten besser auch in einzelnen...